27 entités · Customer étendu (TVA, identifiants légaux FR) · ShipTo étendu (Carrier + N° compte)
Un Customer = un Sold To = 1 Bill To (adresse de facturation sur l'entité Customer) + N Ship To (adresses de livraison distinctes).
Carrier + Carrier Account (v7) : chaque adresse Ship To peut préciser le transporteur habituel et le numéro de compte client — utilisés pour pré-remplir les documents d'expédition.
Tout objet ayant un cycle de vie à statuts (OrderProcessing, RMA, Quotation) enregistre chaque changement de statut avec sa date et l'auteur. Log immuable permettant de reconstituer la timeline de vie dans les écrans NEXUS.
| Règle | Description | Champ / Entité |
|---|---|---|
| TVA par pays (v7) | La TVA est gérée à deux niveaux : Country.default_vat_rate (taux par défaut, ex: France 20 %, Suisse 8,1 %) et Customer.vat_applicable (boolean) qui permet d'exonérer un client spécifique (ex: CERN, organisme international). Le champ vat_number stocke le numéro d'identification TVA intracommunautaire. |
Customer.vat_applicable · Customer.vat_number · Country.default_vat_rate |
| Identifiants légaux FR (v7) | Pour les clients publics français (type CNRS), trois champs nullables sur Customer : siren (9 caractères), siret (14 caractères), chorus_pro_code (jusqu'à 110 caractères — plateforme dématérialisée factures publiques). Ces champs sont obligatoires sur les factures émises vers ces entités. |
Customer.siren · Customer.siret · Customer.chorus_pro_code |
| Carrier sur Ship To (v7) | ShipTo.carrier et ShipTo.carrier_account permettent de pré-remplir les documents d'expédition avec le transporteur habituel de l'adresse de livraison et le numéro de compte client chez ce transporteur (facturation directe au client). |
ShipTo.carrier · ShipTo.carrier_account |
| Sold To / Bill To / Ship To | Un Customer = 1 Sold To (entité légale donneuse d'ordre) = 1 Bill To (adresse facturation sur l'entité Customer) + N Ship To (entités ShipTo). Une même adresse ShipTo peut être partagée entre plusieurs Customers (ex: ST Crolles 1 et ST Crolles 2 partagent un Ship To Extra). |
Customer.bill_to · ShipTo (N:N via table liaison) |
| Codes sur les documents | Devis / Facture client / OC / Delivery notice → ProductCustomerCode.customer_ref. PO fournisseur → ProductSupplierCode.supplier_ref. Usage interne → Product.mdc_ref. |
ProductCustomerCode · ProductSupplierCode · Product |
| Délais de paiement | due_date_customer = invoice_date + Customer.payment_term_days. due_date_supplier = invoice_date + Supplier.payment_term_days. Alimentent le Financial Management Dashboard. |
Document.due_date_customer · Document.due_date_supplier |
| Alerte EUR1 | Si Document.total_ht > 6 000 EUR → bandeau d'alerte UI. EUR1 exigé pour les expéditions hors UE au-delà de ce seuil. |
Document.eur1_required · Document.total_ht |