Rapport fiscal LHDN
Soumettre une déclaration fiscale au LHDN (Malaisie) avec l’API B2Brouter
Section titled “Soumettre une déclaration fiscale au LHDN (Malaisie) avec l’API B2Brouter”Ce guide explique comment activer et générer une déclaration fiscale pour l’Inland Revenue Board of Malaysia (LHDN) via l’API B2Brouter.
Environnements de test : utilisez le sandbox pour les premiers tests API et la validation des payloads. Le sandbox simule les soumissions au LHDN afin que vous puissiez tester le cycle de vie complet d’une facture sans vous connecter à une autorité réelle. Pour des tests de bout en bout contre le propre point de terminaison de test du LHDN, utilisez l’environnement de staging (
api-staging.b2brouter.net).
Vue d’ensemble : processus de clearance
Section titled “Vue d’ensemble : processus de clearance”Le processus de déclaration fiscale du LHDN (Lembaga Hasil Dalam Negeri, ou Inland Revenue Board of Malaysia) fonctionne selon un modèle de clearance. Cela signifie que chaque facture émise doit être déclarée à l’administration fiscale et approuvée par celle-ci.
Lorsque vous utilisez B2Brouter, chaque déclaration fiscale envoyée au LHDN sera automatiquement validée par cette autorité. Ainsi, la facture ne peut être considérée comme juridiquement valable qu’après sa clearance réussie par le LHDN.
Vous trouverez ci-dessous les étapes pour configurer et gérer les soumissions de déclarations fiscales au LHDN via l’API B2Brouter.
Étape 1 : exigences du compte pour la Malaisie
Section titled “Étape 1 : exigences du compte pour la Malaisie”Pour déclarer des factures au LHDN via B2Brouter, votre compte B2Brouter doit être correctement configuré en tant qu’entité malaisienne.
Champs obligatoires pour les comptes malaisiens
Section titled “Champs obligatoires pour les comptes malaisiens”Lors de la création de votre compte via l’API (POST /accounts), les champs suivants sont obligatoires et doivent respecter des contraintes spécifiques à la Malaisie :
| Field | Description | Notes |
|---|---|---|
country | Code pays ISO | Doit être my (Malaisie) |
tin_value | Taxpayer Identification Number | Doit respecter le format malaisien |
tin_scheme | Code du schéma TIN | Doit être 8028 — Nombor Cukai Pendapatan (ITN) |
cin_value | Identifiant d’entreprise ou de personne | Doit être soit un Business Registration Number, soit un National Registration Identity Card Number |
cin_scheme | Code du schéma CIN | Utilisez 8031 pour Business Registration Number (BRN) ou 8029 pour National Registration Identity Card Number (NRIC) |
province | État / région | Doit correspondre aux codes d’état officiels du LHDN |
phone | Numéro de contact de l’entreprise | Requis pour la validation fiscale |
Référence complète : Create Account API
Exemple de payload JSON (création d’un compte malaisien)
Section titled “Exemple de payload JSON (création d’un compte malaisien)”{ "account": { "name": "My Malaysia Business", "email": "john.doe@example.com", "phone": "60123456789", "address": "123 Jalan Ampang", "city": "Kuala Lumpur", "postalcode": "50088", "province": "10", "country": "my", "tin_value": "ITN123456789", "tin_scheme": 8028, "cin_value": "BRN123456789", "cin_scheme": 8031 }}Étape 2 : enregistrer B2Brouter comme ERP intermédiaire dans le portail MyInvois
Section titled “Étape 2 : enregistrer B2Brouter comme ERP intermédiaire dans le portail MyInvois”Pour envoyer vos déclarations fiscales à MyInvois, B2Brouter doit être enregistré comme ERP intermédiaire dans le portail MyInvois. Cet enregistrement est nécessaire pour nous autoriser à soumettre des déclarations fiscales en votre nom. Vous trouverez des instructions détaillées ici.
Étape 3 : activer la déclaration fiscale LHDN dans B2Brouter
Section titled “Étape 3 : activer la déclaration fiscale LHDN dans B2Brouter”Vous devez activer les paramètres de déclaration fiscale LHDN dans votre compte B2Brouter pour commencer à déclarer des factures au LHDN.
Point de terminaison API pour créer les paramètres de déclaration fiscale pour le LHDN :
POST https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/tax_report_settingsContent-Type: application/jsonX-B2B-API-Key: {YOUR_API_KEY}X-B2B-API-Version: {YOUR_API_VERSION}
{ "tax_report_setting": { "code": "lhdn", "msic": "01111", "type_operation": "services", "classification_code": "001" }}Explication des champs :
- msic : code de classification commerciale malaisien, requis par le LHDN.
- type_operation : type de vos opérations commerciales (services ou biens). Cette valeur est utilisée par défaut si elle n’est pas précisée dans votre facture.
- classification_code : code spécifique lié à la catégorie de votre ligne de produit. Cette valeur est utilisée par défaut si elle n’est pas précisée dans votre facture.
Pour configurer correctement la déclaration fiscale pour la Malaisie, vous devez utiliser les codes officiels fournis par le LHDN. Vous pouvez les trouver ici : LHDN Code List
Étape 4 : créer et émettre des factures
Section titled “Étape 4 : créer et émettre des factures”Créez une facture dans B2Brouter à l’aide de notre API. Vous avez deux options :
1. Créer une facture émise en utilisant un payload JSON
Section titled “1. Créer une facture émise en utilisant un payload JSON”Exemple de requête :
curl --request POST \ --url https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/invoices \ --header 'X-B2B-API-Key: {YOUR_API_KEY}' \ --header 'X-B2B-API-Version: {YOUR_API_VERSION}' \ --header 'content-type: application/json'2. Créer une facture émise en important un format de fichier pris en charge
Section titled “2. Créer une facture émise en important un format de fichier pris en charge”Exemple de requête :
curl --request POST \ --url 'https://api-staging.b2brouter.net/accounts/{ACCOUNT_ID}/invoices/import?send_after_import=false&transport_type_code_for_contact=email&document_type_code_for_contact=xml.ubl.invoice.pint.billing.my.v1' \ --header 'X-B2B-API-Key: {YOUR_API_KEY}' \ --header 'X-B2B-API-Version: {YOUR_API_VERSION}' \ --header 'content-type: application/octet-stream' \ --data 'data:text/xml;name=Invoice-23432234533.xml;base64,{BASE64_RAW_XML}'Étape 5 : soumettre la déclaration fiscale
Section titled “Étape 5 : soumettre la déclaration fiscale”Si vous avez émis automatiquement la facture que vous venez de créer (en définissant le paramètre send_after_import dans l’appel API), la déclaration fiscale correspondant à la facture sera générée automatiquement et envoyée à l’administration fiscale pour validation.
Sinon, si vous souhaitez davantage de contrôle sur le processus d’émission, vous pouvez générer explicitement la déclaration fiscale en appelant la méthode generate tax report.
Étape 6 : vérifier le statut de la déclaration fiscale
Section titled “Étape 6 : vérifier le statut de la déclaration fiscale”Le processus d’envoi des déclarations fiscales au LHDN est asynchrone : nous générons et soumettons la déclaration fiscale en arrière-plan.
Vous devrez vérifier le statut de la déclaration fiscale que nous envoyons en votre nom. Vous pouvez soit :
- vérifier une déclaration fiscale spécifique à l’aide de son ID ;
- obtenir la liste des déclarations fiscales associées à un identifiant de facture en appelant la méthode list tax reports.
En raison de la nature asynchrone du processus d’envoi des déclarations fiscales, il n’y a aucune garantie que, lorsque vous vérifierez l’état, la réponse de l’administration fiscale soit déjà disponible. Il faut généralement quelques secondes pour terminer la transaction. La transaction est terminée si l’état est registered ou error. Nous vous recommandons d’implémenter une stratégie d’exponential backoff pour les tentatives de réessai.