Invoices: TVA, credit notes et period lock
Comment la plateforme gere les taux TVA par juridiction, les workflows de credit notes et le lock qui evite les edits sur périodes fermées.
L’invoicing est l’endroit où la réalité financière doit s’aligner sur la réalité juridique. Les taux de TVA doivent être corrects, les credit notes auditables, les period locks doivent empêcher les modifications accidentelles sur un trimestre déjà déposé. La plateforme gère chacun de ces points.
TVA par juridiction
Chaque invoice porte un calcul TVA dérivé de la juridiction du vendeur, de la juridiction de l’acheteur et du type de fourniture. Les livraisons intracommunautaires UE (B2B avec numéro de TVA valide) sont en reverse charge. Les fournitures domestiques utilisent le taux du vendeur. Les exports hors UE sont zero-rated avec la déclaration douanière comme preuve. La plateforme applique la bonne règle selon les données stockées des entités ; l’humain peut override avec une raison pour les edge cases.
Credit notes
Une invoice qui doit être réduite ou annulée reçoit une credit note, pas une modification de l’original. /core/invoices supporte le workflow credit-note : sélectionner l’invoice source, sélectionner les lignes à créditer (totalement ou partiellement), enregistrer la raison, générer la credit note. L’invoice originale est préservée ; la credit note la référence. Les deux restent dans l’audit trail.
Period lock
Une fois une période clôturée (typiquement après dépôt de la déclaration TVA pour la période), les invoices de cette période sont verrouillées. Les tentatives de modification sont bloquées au niveau database. Les nouvelles transactions qui tomberaient dans la période verrouillée sont routées vers la période suivante, avec la transaction-date originale conservée comme champ de référence. Le lock est par tenant ; l’action close-the-period vit dans /admin/settings.
Le rapport invoice
/core/invoices/[id]/report est le PDF imprimable avec la mise en page légale — numéro de TVA, invoice number, clause reverse-charge si applicable, conditions de paiement, coordonnées bancaires. Le template est par tenant (voir l’article document-templates), afin que chaque org utilise son branding tout en gardant les données sous gestion plateforme.