Sending an Invoice by Email
This guide provides a sample curl request for sending your first invoice via email. Before running this request, you need to retrieve some field values.
curl --location \
--request POST 'https://api.wafeq.com/v1/api-invoices/bulk_send/' \
--header 'Authorization: Api-Key <api_key>' \
--header 'Content-Type: application/json' \
--data-raw '[
{
"reference": "REF",
"invoice_number": "TEST-INV-1234",
"invoice_date": "2021-01-01",
"currency": "SAR",
"paid_through_account": "<paid_through_account_id>",
"language": "en",
"tax_amount_type": "TAX_INCLUSIVE",
"contact": {
"name": "Ahmed A.",
"address": "Ahmed A. Building, first floor, Riyadh, Saudi Arabia",
"email": "[email protected]"
},
"channels": [
{
"medium": "email",
"data": {
"subject": "Invoice X from the Company of Abdullah S. Trading",
"message": "<p>Please find attached your invoice.</p>",
"recipients": {
"to": ["[email protected]"],
"cc": [],
"bcc": []
}
}
}
],
"line_items": [
{
"name": "Item 1",
"description": "Item description 1",
"account": "<account_id>",
"quantity": 2,
"price": 40,
"tax_rate": "<tax_rate_id>"
},
{
"name": "Item 2",
"description": "Item description 2",
"account": "<account_id>",
"quantity": 3,
"price": 20,
"tax_rate": "<tax_rate_id>"
}
]
}
]'
API Key
The API Key can be found on the Wafeq app. You can follow the steps provided at Get your API Key.
Paid through account
The paid_through_account
field is the account where you received the money. It's usually a bank account or a payment gateway account. You can add bank accounts in your Wafeq organization under the Bank Transactions section.
You can retrieve the list of available accounts using the List accounts API and setting the is_payment_enabled
filter to true
.
Line item account
The line item account
field is where you'd like your revenue to be categorized in your Profit and Loss statement. For example, you'd typically categorize it to your Sales
account.
You can retrieve the list of available accounts using the List accounts API.
Line item tax rate
The line item tax_rate
field is the tax rate that needs to be applied.
You can retrieve the list of available tax rates using the List tax rates API.
Response
A successful request will queue the invoice to be sent and will return the following response:
{
"queued": 1
}
e-Invoices are not sent to ZATCA in Phase 1
ZATCA has currently implemented only Phase 1 of the e-invoicing law, which means invoices and credit notes are not sent to ZATCA during this phase. Wafeq will be integrated with ZATCA in phase 2, which is expected to launch in waves in 2023. Reach out to our support if you're part of the early waves so we can assist.
Invoice PDF
A PDF of the invoice will be attached to the email. Below is a sample Invoice PDF.