Skip to content
Log in

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).

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 :

FieldDescriptionNotes
countryCode pays ISODoit être my (Malaisie)
tin_valueTaxpayer Identification NumberDoit respecter le format malaisien
tin_schemeCode du schéma TINDoit être 8028Nombor Cukai Pendapatan (ITN)
cin_valueIdentifiant d’entreprise ou de personneDoit être soit un Business Registration Number, soit un National Registration Identity Card Number
cin_schemeCode du schéma CINUtilisez 8031 pour Business Registration Number (BRN) ou 8029 pour National Registration Identity Card Number (NRIC)
provinceÉtat / régionDoit correspondre aux codes d’état officiels du LHDN
phoneNuméro de contact de l’entrepriseRequis 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_settings
Content-Type: application/json
X-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 :

Exemple de requête :

Terminal window
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'

Exemple de requête :

Terminal window
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 :

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.