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).
Überblick: Clearance-Prozess
Section titled “Überblick: Clearance-Prozess”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.
Pflichtfelder für malaysische Konten
Section titled “Pflichtfelder für malaysische Konten”Beim Erstellen Ihres Kontos über die API (POST /accounts) sind folgende Felder erforderlich und müssen malaysischen Anforderungen entsprechen:
| Feld | Beschreibung | Hinweise |
|---|---|---|
country | ISO-Ländercode | Muss my sein (Malaysia) |
tin_value | Steuernummer des Steuerpflichtigen | Muss dem malaysischen Format entsprechen |
tin_scheme | TIN-Schema-Code | Muss 8028 sein — Nombor Cukai Pendapatan (ITN) |
cin_value | Unternehmens- oder Personenidentifikator | Muss entweder eine Handelsregisternummer oder eine nationale Identitätskartennummer sein |
cin_scheme | CIN-Schema-Code | Verwenden Sie 8031 für Business Registration Number (BRN) oder 8029 für National Registration Identity Card Number (NRIC) |
province | Bundesstaat/Region | Muss offiziellen LHDN-Staatscodes entsprechen |
phone | Unternehmenskontaktnummer | Fü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_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" }}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:
1. Eine ausgestellte Rechnung mit einem JSON-Payload erstellen
Section titled “1. Eine ausgestellte Rechnung mit einem JSON-Payload erstellen”Beispielanfrage:
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. Eine ausgestellte Rechnung durch Import eines unterstützten Dateiformats erstellen
Section titled “2. Eine ausgestellte Rechnung durch Import eines unterstützten Dateiformats erstellen”Beispielanfrage:
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}'Schritt 5: Steuerbericht einreichen
Section titled “Schritt 5: Steuerbericht einreichen”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:
- Einen spezifischen Steuerbericht anhand seiner ID prüfen.
- Eine Liste der mit einer Rechnungs-ID verknüpften Steuerberichte durch Aufruf der Methode zum Auflisten von Steuerberichten abrufen.
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.