Hello,
I'm currently studying the possibility of migrating a traditional accounting system to Odoo. I'm testing the solution on a ‘Free’ version 18 base.
After configuring my environment (basic data such as chart of accounts, partners, taxes, etc.) using the standard import functions (Excel files), I'm testing the Odoo API to automate the import of new data from our ERP. I have not encountered any problems during the various data consultations or when writing new partners.
Par contre, je rencontre un souci avec l'import des factures clients et fournisseurs. J'utilise l'API avec des scripts PHP et je commence par créer l'entête de facture (client). J'utilise pour cela la méthode 'write' du modèle 'account.move'. Voici un exemple de traitement :
//Test sur ajout d'une facture de vente
$entete_facture = array(
'bank_partner_id'=>'1',
'checked'=>'true',
'commercial_partner_id'=>'166046',
'company_currency_id'=>'125',
'company_id'=>'1',
'currency_id'=>'125',
'date'=>'2024-11-22',
'invoice_date'=>'2024-11-22',
'invoice_date_due'=>'2025-01-15',
'invoice_filter_type_domain'=>'sale',
'invoice_user_id'=>'6',
'is_being_sent'=>'false',
'is_move_sent'=>'false',
'is_storno'=>'false',
'journal_group_id'=>'false',
'journal_id'=>'8',
'move_sent_values'=>'not_sent',
'name'=>'FA906010',
'next_payment_date'=>'2025-01-15',
'partner_id'=>'166046',
'partner_shipping_id'=>'166046',
'payment_reference'=>'FA906010',
'payment_state'=>'not_paid',
'ref'=>'FA906010',
'state'=>'draft',
'status_in_payment'=>'draft',
'tax_calculation_rounding_method'=>'round_per_line',
'tax_country_code'=>'LU',
'tax_country_id'=>'133'
);
$entete_facture_id = $models->execute_kw($db, $uid, $password, 'account.move', 'create', array($entete_facture));
echo 'Facture_id = '.print_r($entete_facture_id,true);
This is what I get when I run it:
Facture_id = Array
(
[faultCode] => 4
[faultString] => Uh-oh! Looks like you have stumbled upon some top-secret records.
Sorry, Intégration Automatique (id=6) doesn't have 'write' access to:
- Journal Entry (account.move)
If you really, really need access, perhaps you can win over your friendly administrator with a batch of freshly baked cookies.
)
However, if I look at the user rights, everything seems consistent to me: the API transfer user is defined as the Finance module Administrator and has all the permissions(read, write, create and delete access) on the ‘Journal Entry’ model.
Does anyone have any ideas or solutions?
Thanks in advance
Nicolas