Skip to main content
Dubu Pay’s invoicing API lets you create professional invoices, attach line items, and deliver them to customers directly by email. Invoices go through a clear status lifecycle — from draft through to paid — and payments can be collected via virtual bank accounts or checkout links. This guide covers the full flow from creation to delivery.

Invoice statuses

Create an invoice

Request fields: Line item fields: Response:
Newly created invoices have status: "draft". The customer cannot pay until you send the invoice.

Add line items after creation

You can add additional line items to a draft invoice at any time before sending it:

Remove a line item

cURL

Send the invoice by email

Once you’re satisfied with the invoice, send it to the customer’s email address:
Sending the invoice transitions its status from draft to pending. The customer receives an email with a payment link and a summary of all line items.

Update an invoice

You can update a draft or pending invoice. Once an invoice is paid or canceled, updates are not accepted.
Updatable fields: title, customer_name, customer_email, currency, issue_date, due_date, notes, status (to draft, pending, or canceled)

Delete an invoice

You can delete a draft invoice. Paid or canceled invoices cannot be deleted.
cURL

List invoices

Filter by status (draft, pending, paid, overdue, canceled) or search (matches customer name or email). Supports page and limit (max 100) for pagination.

Retrieve a single invoice

To collect payment on an invoice without building a custom checkout UI, create a checkout link linked to the invoice ID. Dubu Pay hosts the payment page for you.