Document templates: different boilerplate par outbound type
Comment le système J5 templates affiche un BOL different pour une vente et un transfert interne, sans copier-coller le mois dernier.
Un bill of lading pour une vente n’est pas le même qu’un bill of lading pour une expédition de recyclage. Le langage juridique diffère, les champs requis diffèrent, la partie destination diffère. Utiliser un seul template pour les deux signifie que quelqu’un doit se souvenir de supprimer les parties qui ne s’appliquent pas, et quelqu’un finit par l’oublier.
Templates par type
/settings/core/templates est la template library de la plateforme. Chaque template est scoped à un type de document (BOL, packing slip, loading report, recycling certificate, disposal certificate, etc.) et à un outbound type (sale, recycling, internal-transfer, return-to-client, donation). Le template est sélectionné automatiquement quand l’opérateur génère le document.
Variables
Les templates sont du HTML avec des variables de style mustache : {{client.name}}, {{outbound.id}}, {{contract.terms}}. Le resolver de variables tourne côté serveur au moment de la génération, en lisant les lignes d’entités pertinentes. Des custom variables (par tenant) peuvent être définies dans la configuration du template, utiles pour le texte juridique spécifique à une région.
Versioning
Chaque template porte une version. Sauver une nouvelle version n’écrase pas la précédente — les documents historiques référencent la version active au moment de leur génération, donc un BOL rerendu six mois plus tard ressemble exactement à celui du jour de génération.
Default vs tenant-custom
La plateforme livre un template default pour chaque combinaison (doc-type × outbound-type) — un boilerplate générique, juridiquement adéquat. Les tenants peuvent le remplacer par des templates custom avec leur papier à en-tête, leurs termes spécifiques, les disclosures exigées dans leur région. L’override est par tenant, donc le default plateforme reste le fallback pour les nouveaux tenants qui n’ont encore rien customisé.