Skip to main content
POST
Send Invoice record
The path {record_number} is the invoice number. The body matches POST /api/email_send/invoice/ (to_emails, cc_emails, bcc_emails, subject, message, sandbox). The worker asks the PDF service for the invoice PDF. If subject or message is omitted or empty, company invoice email templates are used, then organization defaults. If to_emails is omitted or empty, the customer email on the invoice is used. A 200 response means the send was accepted, not that the provider has delivered the message. Emails are sent in the background. In Belgium, Sweden and Germany, the Peppol network delivers the e-invoice when DualEntry files it. This email sends the same invoice to the customer as a copy. This call does not post to the general ledger. Additional validations
  • Fails with 422 and error_code e_invoicing_send_held if the authority must clear the e-invoice before the customer gets it (Italy, Mexico, Spain and Argentina), or with error_code e_invoicing_legal_pdf_missing if the authority PDF is not stored yet. The e_invoicing key holds the reason. Send again after the authority clears the invoice.

Authorizations

X-API-KEY
string
header
required

Headers

Idempotency-Key
string

Optional. A unique value (a UUID works well) identifying this operation. If the request is repeated with the same key, the original response is replayed instead of the operation running again, so a retry cannot create a duplicate record. Results are replayable for 48 hours. Reusing a key with a different request body returns 422.

Maximum string length: 255

Path Parameters

record_number
integer
required

The number attribute of the record.

Body

application/json
to_emails
string[]
cc_emails
string[]
bcc_emails
string[]
message
string | null
subject
string | null
sandbox
boolean | null
invoice_id
integer | null

Response

OK

success
boolean
default:true
errors
Errors · object
message
string | null