Skip to content
Log in

LHDN-Steuerbericht

Steuerbericht beim LHDN (Malaysia) über die B2Brouter API einreichen

Section titled “Steuerbericht beim LHDN (Malaysia) über die B2Brouter API einreichen”

Dieser Leitfaden erklärt, wie Sie über die B2Brouter API einen Steuerbericht für die Steuerbehörde Malaysia (LHDN – Lembaga Hasil Dalam Negeri) aktivieren und erstellen.

Testumgebungen: Verwenden Sie die Sandbox für erste API-Tests und Payload-Validierung – die Sandbox simuliert LHDN-Einreichungen, sodass Sie den vollständigen Rechnungslebenszyklus ohne Verbindung zu einer echten Behörde durchlaufen können. Für vollständige End-to-End-Tests gegen den eigenen Test-Endpunkt des LHDN verwenden Sie die Staging-Umgebung (api-staging.b2brouter.net).

Der LHDN-Steuerberichtsprozess (Lembaga Hasil Dalam Negeri, Steuerbehörde Malaysia) arbeitet als Clearance-Modell. Das bedeutet, dass jede ausgestellte Rechnung der Steuerbehörde gemeldet und von ihr genehmigt werden muss.

Bei der Verwendung von B2Brouter wird jeder an den LHDN gesendete Steuerbericht automatisch durch diese Behörde freigegeben. Eine Rechnung gilt daher erst nach erfolgreicher Freigabe durch den LHDN als rechtsgültig.

Nachfolgend sind die Schritte zur Konfiguration und Verwaltung von Steuerberichtseinreichungen beim LHDN über die B2Brouter API beschrieben.

Schritt 1: Kontoanforderungen für Malaysia

Section titled “Schritt 1: Kontoanforderungen für Malaysia”

Um Rechnungen über B2Brouter beim LHDN zu melden, muss Ihr B2Brouter-Konto korrekt als malaysische Einheit konfiguriert sein.

Beim Erstellen Ihres Kontos über die API (POST /accounts) sind folgende Felder erforderlich und müssen malaysischen Anforderungen entsprechen:

FeldBeschreibungHinweise
countryISO-LändercodeMuss my sein (Malaysia)
tin_valueSteuernummer des SteuerpflichtigenMuss dem malaysischen Format entsprechen
tin_schemeTIN-Schema-CodeMuss 8028 sein — Nombor Cukai Pendapatan (ITN)
cin_valueUnternehmens- oder PersonenidentifikatorMuss entweder eine Handelsregisternummer oder eine nationale Identitätskartennummer sein
cin_schemeCIN-Schema-CodeVerwenden Sie 8031 für Business Registration Number (BRN) oder 8029 für National Registration Identity Card Number (NRIC)
provinceBundesstaat/RegionMuss offiziellen LHDN-Staatscodes entsprechen
phoneUnternehmenskontaktnummerFür die Steuervalidierung erforderlich

Vollständige Referenz: Konto erstellen API

Beispiel JSON-Payload (malaysisches Konto erstellen)
Section titled “Beispiel JSON-Payload (malaysisches Konto erstellen)”
{
"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
}
}

Schritt 2: B2Brouter als Intermediär-ERP im MyInvois-Portal registrieren

Section titled “Schritt 2: B2Brouter als Intermediär-ERP im MyInvois-Portal registrieren”

Um Steuerberichte an MyInvois zu senden, muss B2Brouter als Intermediär-ERP im MyInvois-Portal registriert werden. Diese Registrierung ist erforderlich, um uns zu autorisieren, Steuerberichte in Ihrem Namen einzureichen. Detaillierte Anweisungen finden Sie hier.

Schritt 3: LHDN-Steuerberichterstattung in B2Brouter aktivieren

Section titled “Schritt 3: LHDN-Steuerberichterstattung in B2Brouter aktivieren”

Sie müssen die LHDN-Steuerberichtseinstellungen in Ihrem B2Brouter-Konto aktivieren, um mit der Meldung von Rechnungen beim LHDN zu beginnen.

API-Endpunkt zum Erstellen von Steuerberichtseinstellungen für den 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"
}
}

Feldbeschreibungen:

  • msic: Malaysischer Unternehmensklassifizierungscode, vom LHDN gefordert.
  • type_operation: Art Ihrer Geschäftstätigkeiten (services oder goods). Standardmäßig mit diesem Wert befüllt, wenn er nicht in Ihrer Rechnung angegeben ist.
  • classification_code: Spezifischer Code für Ihre Produktlinienkategorie. Standardmäßig mit diesem Wert befüllt, wenn er nicht in Ihrer Rechnung angegeben ist.

Um die Steuerberichterstattung für Malaysia korrekt zu konfigurieren, müssen Sie offizielle Codes des LHDN verwenden. Diese finden Sie hier: LHDN-Codeliste

Schritt 4: Rechnungen erstellen und ausstellen

Section titled “Schritt 4: Rechnungen erstellen und ausstellen”

Erstellen Sie eine Rechnung bei B2Brouter über unsere API. Sie haben zwei Möglichkeiten:

Beispielanfrage:

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'

Beispielanfrage:

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}'

Wenn Sie die soeben erstellte Rechnung automatisch ausgestellt haben (durch Setzen des Parameters send_after_import im API-Aufruf), wird der der Rechnung entsprechende Steuerbericht automatisch generiert und zur Validierung an die Steuerbehörde gesendet.

Wenn Sie mehr Kontrolle über den Ausstellungsprozess haben möchten, können Sie den Steuerbericht alternativ explizit generieren, indem Sie die Methode zum Generieren eines Steuerberichts aufrufen.

Schritt 6: Status des Steuerberichts prüfen

Section titled “Schritt 6: Status des Steuerberichts prüfen”

Der Prozess der Übermittlung von Steuerberichten an den LHDN ist asynchron – wir generieren und senden den Steuerbericht in einem Hintergrundprozess.

Sie müssen den Status des Steuerberichts überprüfen, den wir in Ihrem Namen senden. Sie haben folgende Möglichkeiten:

Aufgrund der asynchronen Natur des Steuerberichts-Sendevorgangs gibt es keine Garantie, dass beim Prüfen des Status bereits die Antwort der Steuerbehörde vorliegt. In der Regel dauert die Transaktion einige Sekunden. Die Transaktion ist abgeschlossen, wenn der Status registered oder error ist. Wir empfehlen die Implementierung einer exponentiellen Backoff-Strategie für Wiederholungsversuche.