Odoo 20.0 Community · Persistant

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
Hérite de (mixins)
analytic.mixinmail.track.mixinres.currency.rate.consolidation.mixinproduct.catalog.line.mixin

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 techniqueLibelléTypeDétails
account_codeAccount Codechar

related : account_id.code

account_idComptemany2one
calculé, stocké
account_internal_groupAccount Internal Groupselection

related : account_id.internal_group

account_nameNom du comptechar

related : account_id.name

account_root_idCompte racinemany2one

related : account_id.root_id

account_typeType interneselection

related : account_id.account_type

allowed_uom_idsUnité de mesure autoriséemany2many
calculé
amount_currencyMontant 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_residualMontant résiduel

Le montant résiduel d'une écriture exprimée dans la devise de la société.

monetary
calculé, stocké
amount_residual_currencyMontant 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_distributionRépartition Analytiquejson
analytic_line_idsLignes analytiquesone2many

inverse : move_line_id

balanceSoldemonetary
calculé, stocké
cogs_move_idsCOGS stock moves

Inventory moves used to compute COGS values.

many2many
calculé

ajouté par WMS Accounting (stock_account)

cogs_origin_idCogs Originmany2one
collapse_compositionMasquer 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_pricesMasquer 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_countryPays du partenaire commercialmany2one

related : move_id.commercial_partner_id.country_id

company_currency_idDevise de la sociétémany2one
lecture seule

related : move_id.company_currency_id

company_idSociétémany2one
lecture seule

related : move_id.company_id

consolidation_balanceSolde convertimonetary
calculé
consolidation_creditCrédit convertimonetary
calculé
consolidation_debitDébit convertimonetary
calculé
count_reconciled_linesNombre de lignes lettréesinteger
calculé
count_reconciled_lines_excluding_exchange_diffNombre de lignes lettrées hors différences de changeinteger
calculé
creditCréditmonetary
calculé, stocké
cumulated_balanceSolde cumulé

Solde cumulé pour le compte.

monetary
calculé
currency_idDevisemany2one
requiscalculé, stocké
currency_rateTaux de change

Taux de change de la devise de l'entreprise vers la devise du document.

float
calculé
dateDatedate

related : move_id.date

date_maturityDate 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
debitDébitmonetary
calculé, stocké
deductible_percentageProfessional 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
discountRemise (%)float
discount_allocation_dirtyAllocation de la remiseboolean
calculé
discount_allocation_keyClé d'allocation de la remisejson
calculé
discount_allocation_neededAllocation de la remise nécessairejson
calculé
discount_amount_currencyMontant de la remise en devisemonetary
discount_balanceSolde de remisemonetary
discount_dateDate de remise

Dernière date à laquelle le prix réduit doit être payé pour que l'escompte puisse être accordé

date
lecture seule
display_typeType d'affichageselection
requiscalculé, stocké

Valeurs : product (Produit), cogs (Coûts des marchandises vendues), tax (Taxe), discount (Remise), rounding (Arrondi), payment_term (Conditions de paiement), line_section (Section), line_subsection (Sous-section), line_note (Note), epd (Escompte), non_deductible_product_total (Total des produits non déductibles), non_deductible_product (Produits non déductibles)…

document_tax_modeMode de taxe du documentselection

related : move_id.document_tax_mode

epd_dirtyEscompte Dirtyboolean
calculé
epd_keyClé Epdjson
calculé
epd_neededEpd requisjson
calculé
exchange_move_idsMouvement de changemany2many
calculé
expense_idDépensemany2one

ajouté par Dépenses (hr_expense)

extra_tax_dataDonnées fiscales supplémentairesjson
first_reconciled_lines_excluding_exchange_diff_idPremières lignes lettrées hors différences de changemany2one
calculé
first_reconciled_lines_idPremières lignes lettréesmany2one
calculé
fiscal_position_idPosition fiscalemany2one

related : move_id.fiscal_position_id

full_reconcile_idLettragemany2one
lecture seule
group_tax_idGroupe de taxes d'originemany2one
has_invalid_analyticsContient des analytiques invalidesboolean
calculé
invoice_dateDate de facturationdate

related : move_id.invoice_date

is_account_reconcileIs Account Reconcileboolean

related : account_id.reconcile

is_downpaymentEst un acompteboolean

ajouté par Ventes (sale)

is_importedEst importé(e)boolean
is_landed_costs_lineEst une ligne de coût logistiqueboolean

ajouté par WMS Landed Costs (stock_landed_costs)

is_refundNote de créditboolean
calculé
is_same_currencyMême deviseboolean
calculé
is_stornoComptabilité Storno de la société

Champ utilitaire pour indiquer si l'écriture comptable est soumise à la comptabilité storno

boolean
calculé, stocké
journal_group_idGrand livremany2one

related : journal_id.journal_group_id

journal_idJournalmany2one

related : move_id.journal_id

labelLibellétext
calculé
matched_credit_idsCrédits lettrés

Écritures au crédit qui sont lettrées avec cette écriture comptable.

one2many
lecture seule

inverse : debit_move_id

matched_debit_idsDébits lettrés

Écritures au débit qui sont lettrées avec cette écriture comptable.

one2many
lecture seule

inverse : credit_move_id

matching_numberLettrage #

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_idPièce comptablemany2one
requislecture seule
move_nameNumérochar

related : move_id.name

move_typeType d'écritureselection

related : move_id.move_type

nameDescriptiontext
calculé, stocké
need_vehicleBesoin d'un véhiculeboolean
calculé

ajouté par Accounting/Fleet bridge (account_fleet)

no_followupNo Reminder

Exclude this journal item from Reminder reports.

boolean
calculé, stocké
open_onUnreconciled On

Limiter la date des champs résiduels (à la date).

date
parent_idLigne de section parentemany2one
calculé
parent_stateParent Stateselection

related : move_id.state

partner_idPartenairemany2one
calculé, stocké
payment_dateDate de paiement suivantedate
calculé
payment_idDonneur d'ordre du paiement

Le paiement ayant généré cette pièce comptable

many2one

related : move_id.origin_payment_id

pos_order_line_idPOS Order Line

POS order line that generated this invoice line.

many2one

ajouté par Point de Vente (point_of_sale)

price_subtotalSous-totalmonetary
calculé, stocké
price_totalTotalmonetary
calculé, stocké
price_unitPrix unitairefloat
calculé, stocké
product_category_idCatégorie de produitsmany2one

related : product_id.product_tmpl_id.categ_id

product_idProduitmany2one
product_typeType de produitselection
lecture seule

related : product_id.type

ajouté par WMS Landed Costs (stock_landed_costs)

product_uom_idUnitémany2one
calculé, stocké
purchase_line_idLigne de bon de commandemany2one

ajouté par Achats (purchase)

purchase_line_warn_msgMessage d’avertissement de ligne d’achattext
calculé

ajouté par Achats (purchase)

purchase_matching_issue_msgPurchase Matching Issue Msgchar
calculé

ajouté par Achats (purchase)

purchase_order_idBon de commande fournisseurmany2one
lecture seule

related : purchase_line_id.order_id

ajouté par Achats (purchase)

quantityQuantité

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_idModèle de rapprochementmany2one
lecture seule
reconciledRapprochéboolean
calculé, stocké
reconciled_lines_excluding_exchange_diff_idsLignes rapprochées hors écarts de changemany2many
calculé
reconciled_lines_idsLignes rapprochéesmany2many
calculé
refRefchar

related : move_id.ref

repair_order_idOrdre de réparationmany2one

related : move_id.repair_order_id

ajouté par Réparations (repair)

repair_service_line_idRepair Service Linemany2one

ajouté par Réparations (repair)

residual_at_dateRésiduel (à la date)

Le montant résiduel (à la date) d’une écriture comptable, exprimé dans sa devise.

monetary
calculé
residual_currency_at_dateRésiduel en devises (à la date)

Le montant résiduel (à la date) sur une écriture comptable, exprimé dans sa devise.

monetary
calculé
sale_line_idsLignes de commandemany2many
lecture seule

ajouté par Ventes (sale)

sale_line_warn_msgMessage d’avertissement ligne de ventetext
calculé

ajouté par Ventes (sale)

search_account_idRechercher un comptemany2one
sequenceSéquenceinteger
calculé, stocké
statement_idRelevé

Le relevé bancaire utilisé pour le lettrage

many2one

related : statement_line_id.statement_id

statement_line_idLigne de relevé du donneur d'ordre

La ligne de relevé ayant généré cette écriture

many2one

related : move_id.statement_line_id

stock_move_idMouvement de stockmany2one

ajouté par WMS Accounting (stock_account)

tax_base_amountMontant de basemonetary
lecture seule
tax_calculation_rounding_methodMéthode d'arrondi pour le calcul des taxesselection
lecture seule

related : company_id.tax_calculation_rounding_method

tax_group_idGroupe de la taxe à la sourcemany2one

related : tax_line_id.tax_group_id

tax_idsTaxesmany2many
calculé, stocké
tax_line_idTaxe à la source

Indique que cette écriture comptable est une ligne de taxe

many2one

related : tax_repartition_line_id.tax_id

tax_repartition_line_idLigne 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_keyClé conditionjson
calculé
vehicle_idVéhiculemany2one

ajouté par Accounting/Fleet bridge (account_fleet)

vehicle_log_service_idsVehicle Log Serviceone2many

inverse : account_move_line_id

ajouté par Accounting/Fleet bridge (account_fleet)

analytic_precisionPrécision analytiqueinteger

hérité de analytic.mixin

consolidation_currency_idDevise de consolidationmany2one
calculé

hérité de res.currency.rate.consolidation.mixin

consolidation_rateTauxfloat
calculé

hérité de res.currency.rate.consolidation.mixin

distribution_analytic_account_idsCompte analytique de répartitionmany2many
calculé

hérité de analytic.mixin

create_dateCréé ledatetime
lecture seuleautomatique
create_uidCréé parmany2one
lecture seuleautomatique
display_nameNom affichéchar
lecture seulecalculéautomatique
idIDinteger
lecture seuleautomatique
write_dateDernière mise à jour ledatetime
lecture seuleautomatique
write_uidDernière mise à jour parmany2one
lecture seuleautomatique

Relations

Modèles liés depuis ce modèle

Champs d'autres modèles qui pointent ici

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
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}'
Python (requests)
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

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.