ANS-0129 · RECHERCHES ENREGISTRéES ET FORMULES
Comment afficher les montants ou les valeurs monétaires de NetSuite en toutes lettres ?
Utilisez les champs personnalisés et les formules de recherche de NetSuite pour afficher les valeurs monétaires sous forme de texte descriptif dans les transactions et les rapports.
Solution courte
Pour afficher les montants en toutes lettres dans les transactions ou les recherches NetSuite, utilisez des champs personnalisés du corps de la transaction avec des formules spécifiques basées sur Oracle SQL. Ces formules convertissent les totaux ou montants numériques en leurs équivalents en toutes lettres, y compris les centimes, et peuvent être configurées pour afficher le symbole ou le nom de la devise, offrant ainsi une représentation claire et textuelle des valeurs financières.
Scénario
Les organisations exigent souvent que les montants financiers soient affichés en toutes lettres dans les enregistrements de transactions ou dans les résultats de recherche, pour des raisons de clarté, de conformité légale ou de meilleure lisibilité. Les utilisateurs de NetSuite peuvent rechercher une méthode permettant de convertir automatiquement les valeurs monétaires numériques en leur représentation textuelle sans avoir recours à des solutions de script.
Solution
Pour afficher le montant en toutes lettres directement sur un enregistrement de transaction, vous pouvez utiliser un champ « Corps de transaction personnalisé ». Ce champ doit être configuré comme un champ de type « Texte libre » ou « Texte long », et la formule suivante doit être saisie dans la section « Validation et valeurs par défaut » :
CASE WHEN {total}0 THEN 'ZERO' ELSE TO_CHAR(TO_DATE(TO_CHAR(TRUNC({total}, 0)),'J'),'JSP') || ' ' || (CASE WHEN LENGTH(TO_CHAR(REGEXP_REPLACE({total}, '^[0-9]+.', ''))) 1 THEN TO_CHAR(REGEXP_REPLACE({total}, '^[0-9]+.', '')) || '0/100' ELSE TO_CHAR(REGEXP_REPLACE({total}, '^[0-9]+.', '')) || '/100' END) || ' ' || {currencysymbol} || ' Only' ENDCette formule produira un résultat similaire à : QUATORZE MILLE SEPT CENT CINQUANTE-HUIT 23/100 USD seulement. Veuillez noter que, bien que {currencysymbol}
soit utilisé ici, sa prise en charge directe dans tous les contextes de formule NetSuite peut varier ; {currency}
ou {currency.name}
sont plus couramment recommandées pour l’affichage des informations monétaires. Pour afficher les montants en toutes lettres dans les résultats de recherche NetSuite, une colonne « Formule (Texte) » peut être ajoutée à une recherche de transactions. Insérez la formule suivante dans la colonne « Formule (Texte) » :
CASE WHEN {amount}0 THEN 'ZERO' ELSE TO_CHAR(TO_DATE(TO_CHAR(TRUNC({amount}, 0)),'J'),'JSP') || ' ' || (CASE WHEN LENGTH(TO_CHAR(REGEXP_REPLACE({amount}, '^[0-9]+.', ''))) 1 THEN TO_CHAR(REGEXP_REPLACE({amount}, '^[0-9]+.', '')) || '0/100' ELSE TO_CHAR(REGEXP_REPLACE({amount}, '^[0-9]+.', '')) || '/100' END) || ' ' || {currency} || '(s) Only' ENDCes formules exploitent les fonctions SQL d’Oracle pour convertir le montant numérique en mots. Il est important de tester ces formules de manière approfondie, en particulier pour les montants très élevés (par exemple, supérieurs à 5,5 millions) ou pour le traitement spécifique des montants de zéro centime, car leur comportement peut présenter des limites dans de tels cas limites.
Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Recherches enregistrées et formules
