account.move.line : champs, relations et API
Le modèle account.move.line (« Écriture comptable ») est un modèle persistant déclaré par le module Facturation, puis enrichi par 23 autres modules. Il expose 129 champs, dont 119 déclarés directement sur le modèle ; 17 champs d'autres modèles pointent vers lui. Retrouvez ci-dessous chaque champ avec son nom technique, son type, son libellé français et ses relations, puis un exemple d'appel à l'API JSON-2 d'Odoo 20.
Fiche d'identité
- Nom technique
account.move.line- Libellé
- Écriture comptable
- Type
- Persistant (models.Model)
- Table SQL
account_move_line- Module d'origine
- Facturation (
account) - Étendu par
- account_fleet, sale, sale_project, hr_expense, point_of_sale, stock_account, mrp_account, sale_stock, purchase, purchase_stock, stock_landed_costs, repair, stock_dropshipping, mrp_subcontracting_purchase, pos_discount, pos_sale, pos_loyalty, pos_stock, sale_expense, project_sale_expense, sale_expense_margin, sale_loyalty, sale_timesheet
- Tri par défaut (_order)
date desc, move_name desc, id
Champs du modèle
119 champs propres, 4 hérités des mixins et 6 champs automatiques de l'ORM. Cliquez sur un nom pour obtenir le lien direct vers le champ.
129 champs affichés sur 129
| Nom technique | Libellé | Type | Détails |
|---|---|---|---|
| account_code | Account Code | char | related : |
| account_id | Compte | many2one | calculé, stocké |
| account_internal_group | Account Internal Group | selection | related : |
| account_name | Nom du compte | char | related : |
| account_root_id | Compte racine | many2one | related : |
| account_type | Type interne | selection | related : |
| allowed_uom_ids | Unité de mesure autorisée | many2many→ uom.uom | calculé |
| amount_currency | Montant en devise Le montant exprimé dans une autre devise optionnelle s’il s’agit d’une pièce comptable multi-devise. | monetary | calculé, stocké |
| amount_residual | Montant résiduel Le montant résiduel d'une écriture exprimée dans la devise de la société. | monetary | calculé, stocké |
| amount_residual_currency | Montant résiduel en devise Le montant résiduel d'une écriture comptable dans sa devise (qui peut être différente de la devise de la société) | monetary | calculé, stocké |
| analytic_distribution | Répartition Analytique | json | |
| analytic_line_ids | Lignes analytiques | one2many | inverse : |
| balance | Solde | monetary | calculé, stocké |
| cogs_move_ids | COGS stock moves Inventory moves used to compute COGS values. | many2many | calculé ajouté par WMS Accounting ( |
| cogs_origin_id | Cogs Origin | many2one | |
| collapse_composition | Masquer la structure Si cette option est cochée, les lignes situées sous cette section ne seront pas affichées dans les rapports et sur le portail. | boolean | |
| collapse_prices | Masquer les prix Si cette option est cochée, les prix des lignes situées sous cette section ne seront pas affichés dans les rapports et sur le portail. | boolean | |
| commercial_partner_country | Pays du partenaire commercial | many2one | related : |
| company_currency_id | Devise de la société | many2one | lecture seule related : |
| company_id | Société | many2one | lecture seule related : |
| consolidation_balance | Solde converti | monetary | calculé |
| consolidation_credit | Crédit converti | monetary | calculé |
| consolidation_debit | Débit converti | monetary | calculé |
| count_reconciled_lines | Nombre de lignes lettrées | integer | calculé |
| count_reconciled_lines_excluding_exchange_diff | Nombre de lignes lettrées hors différences de change | integer | calculé |
| credit | Crédit | monetary | calculé, stocké |
| cumulated_balance | Solde cumulé Solde cumulé pour le compte. | monetary | calculé |
| currency_id | Devise | many2one | requiscalculé, stocké |
| currency_rate | Taux de change Taux de change de la devise de l'entreprise vers la devise du document. | float | calculé |
| date | Date | date | related : |
| date_maturity | Date d'échéance Ce champ est utilisé pour les pièces comptables clients et fournisseurs. Vous pouvez y indiquer l’échéance de paiement de cette écriture. | date | |
| debit | Débit | monetary | calculé, stocké |
| deductible_percentage | Professional Expense Deductibility Percentage The share of this expense used for business purposes. VAT is only deductible on this portion; the rest is treated as a private expense. Use this for mixed-use costs (e.g. a home office, a car used partly for personal trips). | float | |
| discount | Remise (%) | float | |
| discount_allocation_dirty | Allocation de la remise | boolean | calculé |
| discount_allocation_key | Clé d'allocation de la remise | json | calculé |
| discount_allocation_needed | Allocation de la remise nécessaire | json | calculé |
| discount_amount_currency | Montant de la remise en devise | monetary | |
| discount_balance | Solde de remise | monetary | |
| discount_date | Date de remise Dernière date à laquelle le prix réduit doit être payé pour que l'escompte puisse être accordé | date | lecture seule |
| display_type | Type d'affichage | selection | requiscalculé, stocké Valeurs : |
| document_tax_mode | Mode de taxe du document | selection | related : |
| epd_dirty | Escompte Dirty | boolean | calculé |
| epd_key | Clé Epd | json | calculé |
| epd_needed | Epd requis | json | calculé |
| exchange_move_ids | Mouvement de change | many2many | calculé |
| expense_id | Dépense | many2one | ajouté par Dépenses ( |
| extra_tax_data | Données fiscales supplémentaires | json | |
| first_reconciled_lines_excluding_exchange_diff_id | Premières lignes lettrées hors différences de change | many2one | calculé |
| first_reconciled_lines_id | Premières lignes lettrées | many2one | calculé |
| fiscal_position_id | Position fiscale | many2one | related : |
| full_reconcile_id | Lettrage | many2one | lecture seule |
| group_tax_id | Groupe de taxes d'origine | many2one | |
| has_invalid_analytics | Contient des analytiques invalides | boolean | calculé |
| invoice_date | Date de facturation | date | related : |
| is_account_reconcile | Is Account Reconcile | boolean | related : |
| is_downpayment | Est un acompte | boolean | ajouté par Ventes ( |
| is_imported | Est importé(e) | boolean | |
| is_landed_costs_line | Est une ligne de coût logistique | boolean | ajouté par WMS Landed Costs ( |
| is_refund | Note de crédit | boolean | calculé |
| is_same_currency | Même devise | boolean | calculé |
| is_storno | Comptabilité Storno de la société Champ utilitaire pour indiquer si l'écriture comptable est soumise à la comptabilité storno | boolean | calculé, stocké |
| journal_group_id | Grand livre | many2one | related : |
| journal_id | Journal | many2one | related : |
| label | Libellé | text | calculé |
| matched_credit_ids | Crédits lettrés Écritures au crédit qui sont lettrées avec cette écriture comptable. | one2many | lecture seule inverse : |
| matched_debit_ids | Débits lettrés Écritures au débit qui sont lettrées avec cette écriture comptable. | one2many | lecture seule inverse : |
| matching_number | Lettrage # Référence de lettrage de cette ligne, 'P' si c'est seulement un lettrage partiel, or la référence complète de lettrage si elle existe. | char | |
| move_id | Pièce comptable | many2one | requislecture seule |
| move_name | Numéro | char | related : |
| move_type | Type d'écriture | selection | related : |
| name | Description | text | calculé, stocké |
| need_vehicle | Besoin d'un véhicule | boolean | calculé ajouté par Accounting/Fleet bridge ( |
| no_followup | No Reminder Exclude this journal item from Reminder reports. | boolean | calculé, stocké |
| open_on | Unreconciled On Limiter la date des champs résiduels (à la date). | date | |
| parent_id | Ligne de section parente | many2one | calculé |
| parent_state | Parent State | selection | related : |
| partner_id | Partenaire | many2one | calculé, stocké |
| payment_date | Date de paiement suivante | date | calculé |
| payment_id | Donneur d'ordre du paiement Le paiement ayant généré cette pièce comptable | many2one | related : |
| pos_order_line_id | POS Order Line POS order line that generated this invoice line. | many2one | ajouté par Point de Vente ( |
| price_subtotal | Sous-total | monetary | calculé, stocké |
| price_total | Total | monetary | calculé, stocké |
| price_unit | Prix unitaire | float | calculé, stocké |
| product_category_id | Catégorie de produits | many2one | related : |
| product_id | Produit | many2one | |
| product_type | Type de produit | selection | lecture seule related : ajouté par WMS Landed Costs ( |
| product_uom_id | Unité | many2one→ uom.uom | calculé, stocké |
| purchase_line_id | Ligne de bon de commande | many2one | ajouté par Achats ( |
| purchase_line_warn_msg | Message d’avertissement de ligne d’achat | text | calculé ajouté par Achats ( |
| purchase_matching_issue_msg | Purchase Matching Issue Msg | char | calculé ajouté par Achats ( |
| purchase_order_id | Bon de commande fournisseur | many2one | lecture seule related : ajouté par Achats ( |
| quantity | Quantité La quantité facultative correspondant à cette ligne, par exemple le nombre de produits vendus. La quantité n'est pas obligatoire légalement, mais elle est très utile dans certains rapports. | float | calculé, stocké |
| reconcile_model_id | Modèle de rapprochement | many2one | lecture seule |
| reconciled | Rapproché | boolean | calculé, stocké |
| reconciled_lines_excluding_exchange_diff_ids | Lignes rapprochées hors écarts de change | many2many | calculé |
| reconciled_lines_ids | Lignes rapprochées | many2many | calculé |
| ref | Ref | char | related : |
| repair_order_id | Ordre de réparation | many2one | related : ajouté par Réparations ( |
| repair_service_line_id | Repair Service Line | many2one | ajouté par Réparations ( |
| residual_at_date | Résiduel (à la date) Le montant résiduel (à la date) d’une écriture comptable, exprimé dans sa devise. | monetary | calculé |
| residual_currency_at_date | Résiduel en devises (à la date) Le montant résiduel (à la date) sur une écriture comptable, exprimé dans sa devise. | monetary | calculé |
| sale_line_ids | Lignes de commande | many2many | lecture seule ajouté par Ventes ( |
| sale_line_warn_msg | Message d’avertissement ligne de vente | text | calculé ajouté par Ventes ( |
| search_account_id | Rechercher un compte | many2one | |
| sequence | Séquence | integer | calculé, stocké |
| statement_id | Relevé Le relevé bancaire utilisé pour le lettrage | many2one | related : |
| statement_line_id | Ligne de relevé du donneur d'ordre La ligne de relevé ayant généré cette écriture | many2one | related : |
| stock_move_id | Mouvement de stock | many2one | ajouté par WMS Accounting ( |
| tax_base_amount | Montant de base | monetary | lecture seule |
| tax_calculation_rounding_method | Méthode d'arrondi pour le calcul des taxes | selection | lecture seule related : |
| tax_group_id | Groupe de la taxe à la source | many2one | related : |
| tax_ids | Taxes | many2many | calculé, stocké |
| tax_line_id | Taxe à la source Indique que cette écriture comptable est une ligne de taxe | many2one | related : |
| tax_repartition_line_id | Ligne de répartition de la taxe à la source Ligne de répartition de taxe qui a provoqué la création de ce mouvemement comptable, si applicable. | many2one | lecture seule |
| tax_tag_ids | Étiquettes Étiquettes attribuées à cette ligne par la taxe qui la génère, le cas échéant. Elle détermine son impact sur les rapports financiers. | many2many | |
| term_key | Clé condition | json | calculé |
| vehicle_id | Véhicule | many2one | ajouté par Accounting/Fleet bridge ( |
| vehicle_log_service_ids | Vehicle Log Service | one2many | inverse : ajouté par Accounting/Fleet bridge ( |
| analytic_precision | Précision analytique | integer | hérité de analytic.mixin |
| consolidation_currency_id | Devise de consolidation | many2one | calculé hérité de res.currency.rate.consolidation.mixin |
| consolidation_rate | Taux | float | calculé hérité de res.currency.rate.consolidation.mixin |
| distribution_analytic_account_ids | Compte analytique de répartition | many2many | calculé hérité de analytic.mixin |
| create_date | Créé le | datetime | lecture seuleautomatique |
| create_uid | Créé par | many2one | lecture seuleautomatique |
| display_name | Nom affiché | char | lecture seulecalculéautomatique |
| id | ID | integer | lecture seuleautomatique |
| write_date | Dernière mise à jour le | datetime | lecture seuleautomatique |
| write_uid | Dernière mise à jour par | many2one | lecture seuleautomatique |
Relations
Modèles liés depuis ce modèle
- account.account : account_id, search_account_id
- account.account.tag : tax_tag_ids
- account.analytic.line : analytic_line_ids
- account.bank.statement : statement_id
- account.bank.statement.line : statement_line_id
- account.fiscal.position : fiscal_position_id
- account.full.reconcile : full_reconcile_id
- account.journal : journal_id
- account.journal.group : journal_group_id
- account.move : exchange_move_ids, move_id
- account.move.line : cogs_origin_id, first_reconciled_lines_excluding_exchange_diff_id, first_reconciled_lines_id, parent_id, reconciled_lines_excluding_exchange_diff_ids, reconciled_lines_ids
- account.partial.reconcile : matched_credit_ids, matched_debit_ids
- account.payment : payment_id
- account.reconcile.model : reconcile_model_id
- account.root : account_root_id
- account.tax : group_tax_id, tax_ids, tax_line_id
- account.tax.group : tax_group_id
- account.tax.repartition.line : tax_repartition_line_id
- fleet.vehicle : vehicle_id
- fleet.vehicle.log.services : vehicle_log_service_ids
- hr.expense : expense_id
- pos.order.line : pos_order_line_id
- product.category : product_category_id
- product.product : product_id
- purchase.order : purchase_order_id
- purchase.order.line : purchase_line_id
- repair.order : repair_order_id
- repair.service.line : repair_service_line_id
- res.company : company_id
- res.country : commercial_partner_country
- res.currency : company_currency_id, currency_id
- res.partner : partner_id
- sale.order.line : sale_line_ids
- stock.move : cogs_move_ids, stock_move_id
- uom.uom : allowed_uom_ids, product_uom_id
Champs d'autres modèles qui pointent ici
- account.analytic.line : move_line_id
- account.automatic.entry.wizard : move_line_ids
- account.move.line : cogs_origin_id, first_reconciled_lines_excluding_exchange_diff_id, first_reconciled_lines_id, parent_id, reconciled_lines_excluding_exchange_diff_ids, reconciled_lines_ids
- account.partial.reconcile : credit_move_id, debit_move_id
- account.payment.register : line_ids
- account.tax : account_move_line_ids
- fleet.vehicle.log.services : account_move_line_id
- mrp.workcenter.productivity : account_move_line_id
- purchase.bill.line.match : aml_id
- sale.order.line : invoice_lines
- stock.move : cogs_aml_ids
Lire ce modèle par l'API
Exemple d'appel à l'API JSON-2 d'Odoo 20 : lecture des cinq premiers enregistrements avec des champs réels du modèle. Remplacez l'instance, la base et la clé API par les vôtres.
curl -X POST "https://votre-instance.odoo.com/json/2/account.move.line/search_read" \
-H "Authorization: bearer $ODOO_API_KEY" \
-H "X-Odoo-Database: votre-base" \
-H "Content-Type: application/json" \
-d '{"domain":[],"fields":["name","currency_id","display_type","move_id","account_id"],"limit":5}'import requests
BASE_URL = "https://votre-instance.odoo.com/json/2"
headers = {"Authorization": f"bearer {API_KEY}", "X-Odoo-Database": "votre-base"}
res = requests.post(
f"{BASE_URL}/account.move.line/search_read",
headers=headers,
json={"domain": [], "fields": ["name","currency_id","display_type","move_id","account_id"], "limit": 5},
)
res.raise_for_status()
print(res.json())- L'accès à l'API externe est réservé à la formule Custom d'Odoo.
- XML-RPC et JSON-RPC seront retirés dans Odoo 22 (automne 2028) : préférez JSON-2.
- Les droits d'accès et règles d'enregistrement de l'utilisateur de la clé s'appliquent.
Citer cet outil
Vous rédigez un tutoriel, une documentation interne ou une réponse sur un forum ? Copiez ce lien pour renvoyer vos lecteurs vers la fiche à jour.
<a href="https://aidoo.ai/fr/outils/explorateur-modeles-odoo/account-move-line">account.move.line (Odoo 20.0)</a>Sources
- Code source du modèle sur GitHub
- Documentation Odoo 20 : ORM API
- Documentation Odoo 20 : API externe JSON-2
Données vérifiées le 25 septembre 2026 · Odoo 20.0 Community
Vous avez un projet Odoo ou souhaitez exploiter votre ERP avec l'IA ? Échangeons
Intégration, développement de modules, connexion de Claude ou ChatGPT à vos données : décrivez-nous votre contexte, nous vous répondons sous 24 heures ouvrées.