Create a Draft Invoice
Create a draft invoice for a customer. A repeat with the same Idempotency-Key returns the first draft.
Authorizations
Send your API key as a bearer token: Authorization: Bearer <api_key>. A test mode key starts with dodo_test_, for example dodo_test_AbCd1234EfGh5678.<secret>. A live mode key starts with dodo_live_. Use a test mode key on test.dodopayments.com and a live mode key on live.dodopayments.com. Keys from before these tags have no tag and operate as before.
Headers
A key of 1 to 255 characters. A repeat with the same key returns the first draft.
Body
auto_charge, manual AED, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BRL, BSD, BWP, BYN, BZD, CAD, CHF, CLP, CNY, COP, CRC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, IQD, JMD, JOD, JPY, KES, KGS, KHR, KMF, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SEK, SGD, SHP, SLE, SLL, SOS, SRD, SSP, STN, SVC, SZL, THB, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VES, VND, VUV, WST, XAF, XCD, XOF, XPF, YER, ZAR, ZMW 1 to 50 items.
A line that exists only on this invoice.
- Option 1
- Option 2
The billing address of an invoice request.
10 addresses or fewer.
The customer email is used when this is not set.
20 codes or fewer.
A custom due date. Do not send it with payment_terms.
The reminder override of one invoice. The business settings fill the other dunning values.
Arbitrary key-value metadata. Values can be string, integer, number, or boolean.
Do not send it with due_at.
- Due On Receipt
- Net
true keeps a renewal draft for review before it finalises.
Response
An invoice-led invoice. Every read and every invoice.* webhook uses this schema.
The actions that the current status accepts.
An action that a merchant can request on the invoice in its current status.
edit, finalize, delete, send, retry, void, mark_uncollectable, change_dunning, add_note, duplicate The amount that the customer must pay. Zero unless the invoice is open or past due.
The sum of the succeeded payments, in the smallest currency unit. A late payment is not included after its late refund.
The sum of the succeeded refunds, in the currency of each payment. The late refund of a late payment is not included.
normal, invoice_led Customer credits applied at finalise, in the smallest currency unit. Zero or less.
AED, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BRL, BSD, BWP, BYN, BZD, CAD, CHF, CLP, CNY, COP, CRC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, IQD, JMD, JOD, JPY, KES, KGS, KHR, KMF, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SEK, SGD, SHP, SLE, SLL, SOS, SRD, SSP, STN, SVC, SZL, THB, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VES, VND, VUV, WST, XAF, XCD, XOF, XPF, YER, ZAR, ZMW The discount codes of the invoice.
The fields that PATCH can change in the current status.
customer, items, discounts, currency, billing_address, tax_id, review_required, due_at, collection_method, memo, customer_email, cc_emails, dunning, metadata How often the invoice lines bill. mixed covers several intervals, or one-time lines next to a plan.
- One Time
- Recurring
- Mixed
The number of failed automatic charges.
Goes up by one on each change. Use it to ignore an older webhook delivery.
The message of each variant is the label of the invoice document.
open, paid, void, draft, past_due, uncollectable refunded, partially_refunded, disputed, payment_reversed Tax in the smallest currency unit.
Total with tax, before credits, in the smallest currency unit.
auto_charge, manual null for an invoice that has no collection: draft, paid, void or uncollectable.
not_started, active, paused, exhausted The page where the customer pays. null until the invoice is sent.
Only on a single invoice. A list leaves it out.
The time of the next reminder email to the customer, before or after the due date.
null when no reminder email will go out.
Days from finalise to the due date. null when the invoice has a custom due date.
Only on a single invoice. A list leaves it out.
null on a draft that keeps all reminder settings of the business.
- Snapshot
- Override
The time at which a draft that waits for review finalises.