9.4 KiB
Template Properties - Purchase Trade
Statut: draft
Version: v0.1
Derniere mise a jour: 2026-03-27
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
- preferer les proprietes
- Pour une vente:
- reutiliser si possible les proprietes
report_*deja presentes sursale.sale
- reutiliser si possible les proprietes
- Pour un achat:
- reutiliser si possible les proprietes
report_*deja presentes surpurchase.purchase
- reutiliser si possible les proprietes
- Pour un shipment entrant:
- reutiliser si possible les proprietes
report_*exposees surstock.shipment.in
- reutiliser si possible les proprietes
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_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
- Usage: devise du bloc
-
report_rate_value- Usage: prix numerique du bloc
At ... PER ... - Source de verite: premiere
account.invoice.linede typeline
- Usage: prix numerique du bloc
-
report_rate_unit_upper- Usage: unite du bloc
At ... PER ... - Source de verite: premiere
account.invoice.linede typeline
- Usage: unite du bloc
-
report_rate_price_words- Usage: prix en toutes lettres dans le bloc
At ... PER ... - Source de verite: premiere
account.invoice.linede typeline, fallbackreport_price
- Usage: prix en toutes lettres dans le bloc
-
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
- Usage: detail multi-lignes du bloc
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()
- Usage:
-
report_freight_currency_symbol- Usage: devise du
FREIGHT VALUE - Source de verite: devise du fee
Maritime freight, fallback devise facture
- Usage: devise du
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_periods
Usage typique:
- base de travail pour les templates de type
sale_ict.fodt - source de verite de plusieurs proprietes du bridge facture
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_surveyorreport_insurance_issue_place_and_date
Usage typique:
- templates shipment relies a l'assurance
- templates qui lisent le fee
Insuranced'unstock.shipment.in
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