Bahrain e-invoicing API
Submit invoice data to Wafeq to create, sign, validate and send Bahrain e-invoices
to the National Bureau for Revenue (NBR). Your integration supplies the business
transaction. Wafeq generates the UBL XML, calculates totals and VAT, adds the
cryptographic stamp and QR code, and requests clearance or reporting.
API address
https://api.wafeq.com/bh/v1All reference paths are relative to this address. For example, POST /invoices
means POST https://api.wafeq.com/bh/v1/invoices.
Wafeq issues your API key. A pk_test_ key identifies test use against NBR
sandbox; a pk_live_ key identifies live use against NBR core. The current
public pilot targets NBR sandbox and uses test keys. Live access must be enabled
and confirmed by Wafeq before production issuance. See
authentication for mode checks and existing
pilot keys.
The accounts and devices you use
| Term | Meaning |
|---|---|
| Organization | Your platform's API account. Your API key identifies it. |
| Connected account | A taxpayer your organization invoices for, identified by its VAT registration. |
| Device | An NBR-registered invoicing software instance with signing credentials. It does not need to be a physical terminal. |
| Sub-CR | A branch registration number. A DIRECT account can have a device for each branch. |
With DIRECT invoicing, the taxpayer's own device signs its documents. With
THIRD_PARTY invoicing, the provider organization's device signs documents for
its delegated suppliers. Credentials and signing keys stay on Wafeq's servers.
Build your integration
- Authenticate and identify your organization.
- Create a connected account with the taxpayer's legal details.
- Register a device for the taxpayer or provider.
- Validate and submit a document.
- Read the result and download the document.
- Handle errors and retries.
The API reference describes the complete request and response
schemas. Tools can import the
OpenAPI schema or read the
AI integration guide.
Updated about 4 hours ago