Template Properties - Purchase Trade
Statut: draft
Version: v0.3
Derniere mise a jour: 2026-04-23
1) Objectif
- Lister les proprietes Python exposees pour alimenter les templates Relatorio.
- Donner un point d'entree rapide aux createurs de templates.
- Eviter de reparser tout
modules/purchase_trade/invoice.py,sale.pyoupurchase.py.
2) Fichiers sources
- Bridge facture:
modules/purchase_trade/invoice.py- Proprietes de vente reutilisables:
modules/purchase_trade/sale.py- Proprietes d'achat reutilisables:
modules/purchase_trade/purchase.py
3) Principes de lecture
- Pour une facture:
- preferer les proprietes
report_*exposees suraccount.invoice - pour une facture finale detaillee, utiliser aussi les proprietes
report_*exposees suraccount.invoice.line - Pour une vente:
- reutiliser si possible les proprietes
report_*deja presentes sursale.sale - Pour un achat:
- reutiliser si possible les proprietes
report_*deja presentes surpurchase.purchase - Pour un shipment entrant:
- reutiliser si possible les proprietes
report_*exposees surstock.shipment.in
4) Propriete disponibles sur account.invoice
Source code: modules/purchase_trade/invoice.py
Identite du document / parties
report_address- Usage: adresse d'affichage de la facture
-
Source de verite:
sale.report_addressoupurchase.report_address, fallbackinvoice.invoice_address.full_address -
report_contract_number - Usage: numero de contrat
-
Source de verite:
sale.full_numberoupurchase.full_number -
report_trader_initial - Usage: initiales trader dans les templates
-
Source de verite: contrat lie
-
report_operator_initial - Usage: initiales operator dans les templates
- Source de verite: contrat lie
Produit / contrat / quantites
report_origin- Usage: origine produit
-
Source de verite:
sale.product_originoupurchase.product_origin -
report_product_description - Usage: description produit principale
-
Source de verite: premiere ligne metier liee a la facture
-
report_product_name - Usage: nom produit principal
-
Source de verite: premiere ligne metier liee a la facture
-
report_description_upper - Usage: description de ligne en majuscules
-
Source de verite: premiere
account.invoice.line -
report_crop_name - Usage: campagne / crop
-
Source de verite: contrat lie
-
report_attributes_name - Usage: attributs produit
-
Source de verite: premiere ligne metier liee a la facture
-
report_price - Usage: prix en toutes lettres
-
Source de verite:
sale.report_priceoupurchase.report_price -
report_nb_bale - Usage: nombre de balles
-
Source de verite:
sale.report_nb_baleou recalcul sur les lots physiques -
report_gross - Usage: poids brut
-
Source de verite:
sale.report_grossou recalcul sur les lots physiques -
report_net - Usage: poids net
-
Source de verite:
sale.report_netoupurchase.report_netou recalcul sur les lots physiques -
report_lbs - Usage: poids net converti en LBS
-
Source de verite: conversion de
report_net -
report_quantity_lines - Usage: detail quantite multi-lignes pour les templates facture
- Source de verite:
sale.report_quantity_linessi vente source, sinon aggregation desaccount.invoice.line
Bloc prix type sale_ict
report_rate_currency_upper- Usage: devise du bloc
At ... PER ... -
Source de verite: premiere
account.invoice.linede typeline -
report_rate_value - Usage: prix numerique du bloc
At ... PER ... -
Source de verite: premiere
account.invoice.linede typeline -
report_rate_unit_upper - Usage: unite du bloc
At ... PER ... -
Source de verite: premiere
account.invoice.linede typeline -
report_rate_price_words - Usage: prix en toutes lettres dans le bloc
At ... PER ... -
Source de verite: premiere
account.invoice.linede typeline, fallbackreport_price -
report_rate_pricing_text - Usage: texte de pricing additionnel
-
Source de verite: premiere
account.invoice.linede typeline -
report_rate_lines - Usage: detail multi-lignes du bloc
At ... PER ... - Source de verite:
sale.report_price_linessi vente source, sinon aggregation desaccount.invoice.line
Logistique / shipment
report_shipment- Usage: resume vessel / BL / shipment
-
Source de verite: contrat lie
-
report_bl_date - Usage: date de BL
-
Source de verite: shipment du lot physique
-
report_bl_nb - Usage: numero de BL
-
Source de verite: shipment du lot physique
-
report_vessel - Usage: nom du vessel
-
Source de verite: shipment du lot physique
-
report_loading_port - Usage: port of loading
-
Source de verite: shipment du lot physique
-
report_discharge_port - Usage: port of discharge
-
Source de verite: shipment du lot physique
-
report_controller_name - Usage: nom du controller
-
Source de verite: shipment du lot physique
-
report_si_number - Usage: S/I number
- Source de verite: shipment du lot physique
Conditions commerciales
report_incoterm- Usage: incoterm + location
-
Source de verite: contrat lie
-
report_payment_date - Usage: date de paiement
-
Source de verite: contrat lie
-
report_payment_description - Usage: description des conditions de paiement
- Source de verite: payment term du contrat ou de la facture
Pro forma / freight
report_proforma_invoice_number- Usage: numero de facture provisoire
-
Source de verite: lot physique via
invoice_line_provousale_invoice_line_prov -
report_proforma_invoice_date - Usage: date de facture provisoire
-
Source de verite: lot physique via
invoice_line_provousale_invoice_line_prov -
report_freight_amount - Usage:
FREIGHT VALUE -
Source de verite:
- lot physique
- shipment du lot
fee.feeavecproduct.name = 'Maritime freight'- montant =
fee.get_amount()
-
report_freight_currency_symbol - Usage: devise du
FREIGHT VALUE - Source de verite: devise du fee
Maritime freight, fallback devise facture
Payment order
report_payment_order_short_name- Usage: nom court emetteur du payment order
-
Source de verite:
invoice.company.party.rec_name -
report_payment_order_document_reference - Usage: reference du document payment order
-
Source de verite:
invoice.number, fallbackinvoice.reference -
report_payment_order_from_account_nb - Usage: compte bancaire emetteur
-
Source de verite: premier
bank.accountde la societe -
report_payment_order_to_bank_name - Usage: banque destinataire
-
Source de verite: banque du premier compte bancaire du partenaire facture
-
report_payment_order_to_bank_city - Usage: ville banque destinataire
-
Source de verite: adresse de la banque destinataire
-
report_payment_order_amount - Usage: montant payment order
-
Source de verite:
invoice.total_amount -
report_payment_order_currency_code - Usage: devise payment order
-
Source de verite:
invoice.currency(code, fallbackrec_name/symbol) -
report_payment_order_amount_text - Usage: montant en lettres
-
Source de verite: conversion
amount_to_currency_words(invoice.total_amount) -
report_payment_order_value_date - Usage: date valeur
-
Source de verite:
invoice.payment_term_date, fallbackinvoice.invoice_date -
report_payment_order_company_address - Usage: bloc beneficiaire
-
Source de verite:
invoice.invoice_address.full_address, fallbackinvoice.report_address -
report_payment_order_beneficiary_account_nb - Usage: compte beneficiaire
-
Source de verite: premier compte bancaire du
invoice.party -
report_payment_order_beneficiary_bank_name - Usage: banque beneficiaire
-
Source de verite: banque du compte beneficiaire
-
report_payment_order_beneficiary_bank_city - Usage: ville banque beneficiaire
-
Source de verite: adresse banque beneficiaire
-
report_payment_order_swift_code - Usage: swift/bic beneficiaire
-
Source de verite:
bank.bic -
report_payment_order_other_instructions - Usage: instructions complementaires
-
Source de verite:
invoice.description -
report_payment_order_reference - Usage: reference business de paiement
-
Source de verite:
invoice.reference, fallbackinvoice.number -
report_payment_order_current_user - Usage: signataire payment order
-
Source de verite: utilisateur courant (
res.user) -
report_payment_order_current_user_email - Usage: email retour swift
- Source de verite: contact email du
partyutilisateur, fallbackuser.email
5) Proprietes disponibles sur account.invoice.line
Source code: modules/purchase_trade/invoice.py
report_product_description- Usage: description produit de la ligne
-
Source de verite:
invoice_line.productouorigin.product -
report_description_upper - Usage: description de ligne en uppercase
-
Source de verite:
invoice_line.description -
report_crop_name - Usage: crop de la ligne
-
Source de verite: contrat relie via
origin -
report_attributes_name - Usage: attributs de la ligne
-
Source de verite:
origin.attributes_name -
report_net - Usage: quantite nette de la ligne
-
Source de verite:
invoice_line.quantity -
report_lbs - Usage: quantite convertie en LBS
-
Source de verite: conversion de
report_net -
report_rate_currency_upper - Usage: devise de prix de la ligne
-
Source de verite:
origin.linked_currencyouinvoice_line.currency -
report_rate_value - Usage: prix numerique de la ligne
-
Source de verite:
invoice_line.unit_price -
report_rate_unit_upper - Usage: unite de prix de la ligne
-
Source de verite:
origin.linked_unitouinvoice_line.unit -
report_rate_price_words - Usage: prix en toutes lettres de la ligne
-
Source de verite: contrat relie via
trade.report_price -
report_rate_pricing_text - Usage: texte de pricing de la ligne
- Source de verite:
origin.get_pricing_text
6) Proprietes utiles deja presentes sur sale.sale
Source code: modules/purchase_trade/sale.py
report_termsreport_crop_namereport_grossreport_netreport_qtreport_total_quantityreport_quantity_unit_upperreport_quantity_linesreport_nb_balereport_dealreport_packingreport_pricereport_price_linesreport_deliveryreport_payment_datereport_shipmentreport_shipment_periodsreport_product_namereport_product_description
Usage typique:
- base de travail pour les templates de type sale_ict.fodt
- source de verite de plusieurs proprietes du bridge facture
Proprietes specifiques sale_melya.fodt
report_melya_proforma_number- Usage: valeur affichee dans
Proforma Nr -
Source de verite: deal lie via
report_deal, fallback numero de vente -
report_melya_buyer_address - Usage: bloc buyer avec nom long et adresse
-
Source de verite:
sale.invoice_address.full_addressavec le contexteaddress_with_party -
report_melya_incoterm - Usage: ligne
DELIVERY TERMS - Source de verite: incoterm code + lieu incoterm + pays du lieu incoterm
7) Proprietes utiles deja presentes sur purchase.purchase
Source code: modules/purchase_trade/purchase.py
report_termsreport_qtreport_pricereport_deliveryreport_payment_datereport_shipment
Usage typique: - templates et bridges pour facturation fournisseur - fallback achat quand une facture n'est pas liee a une vente
8) Templates connus qui utilisent ces proprietes
modules/account_invoice/invoice_ict.fodtmodules/account_invoice/invoice_ict_final.fodtmodules/sale/sale_ict.fodtmodules/stock/insurance.fodt
9) Proprietes utiles deja presentes sur stock.shipment.in
Source code: modules/purchase_trade/stock.py
report_product_namereport_product_descriptionreport_insurance_footer_refreport_insurance_certificate_numberreport_insurance_account_ofreport_insurance_goods_descriptionreport_insurance_loading_portreport_insurance_discharge_portreport_insurance_transportreport_insurance_amountreport_insurance_incoming_amountreport_insurance_amount_insuredreport_insurance_surveyorreport_insurance_contact_surveyorreport_insurance_issue_place_and_date
Usage typique:
- templates shipment relies a l'assurance
- report_insurance_amount: montant affiche dans Amount insured (priorite a
110% du total incoming, fallback fee Insurance)
- report_insurance_incoming_amount: somme incoming_moves de
quantity * unit_price, avec fallback lot
(lot.line.unit_price * lot.get_current_quantity_converted())
- report_insurance_amount_insured: 110% de
report_insurance_incoming_amount
- report_insurance_contact_surveyor: surveyor affiche sous
Contact the following surveyor (priorite au champ shipment surveyor,
puis fallback controller / fee Insurance)
- base de travail pour un certificat d'assurance lie a un shipment
10) Recommandations
- Avant d'ajouter une nouvelle expression dans un
.fodt, verifier si une proprietereport_*existe deja ici. - Si une nouvelle propriete est ajoutee pour un template, la documenter dans ce fichier.
- Pour les donnees logistiques facture, privilegier toujours:
- facture -> ligne metier -> lot physique -> shipment / fee