Hi everyone,
I’m testing invoice submission in developer mode via the Compliance API.
Instead of using the CLI SDK, I’m calling the API directly online.
Scenario
- I’m submitting multiple invoice types at the same time:
- Standard Invoice
- Simplified Invoice
- Standard Credit Note
- Simplified Credit Note
- Standard Debit Note
- Simplified Debit Note
Each XML is generated according to the UBL 2.1 / EN16931 structure, with placeholders for PIH, QR, and proper ProfileID / CustomizationID values.
API Call Details
-
Endpoint:
https://gw-fatoora.zatca.gov.sa/e-invoicing/developer-portal/compliance/invoices -
Headers:
Authorization: Basic CSID:Secret
Content-Type: application/json
Accept-Version: v2
Accept-Language: en
yaml
Copy code
- Payload format:
A JSON object with"invoices": [ { "base64invoice": "<base64 XML>" }, ... ]
(sending multiple documents in one request).
Problem
- The request returns HTTP 400.
- The response body is null/empty.
- No validation error messages, no compliance rejection info.
What I’ve Verified
- Each XML passes the web validator individually.
- CSID + secret are valid and tested on other endpoints.
- Testing via API only — not using the CLI SDK locally.
Questions for the community
- Is bulk submission of multiple invoice types supported in the Developer API?
- Should I submit them one by one instead of batching?
- Has anyone else experienced empty/null responses in developer mode?
- Is there any way to view sandbox compliance logs for failed submissions?
Any guidance or shared experience would be highly appreciated ![]()