Creates an invoice

A matching creation approval workflow returns HTTP 202 with invoice_id, approval_request_id, and status PENDING.
This is a proposal, not a created invoice. Retrieve its contents using retrieve-an-invoice-creation-proposal.
For approval proposals, pass idempotency_key on the initial call and retain it across retries.
The key is optional; each call without one creates a new submission, including retries.
The key does not deduplicate legacy creation when approvals are disabled or the invoice belongs to a contract.
A rejected proposal remains closed; a deliberate new invoice uses a new key.

Rillet supports two invoice scope types: FULL and REVENUE_RECOGNITION_ONLY. The selected scope determines how the invoice is created and what information the user needs to provide.

The FULL scope is used when the invoice is generated and sent directly from Rillet. In this case, Rillet automatically assigns the invoice number.

The REVENUE_RECOGNITION_ONLY scope is intended for situations where the invoice is issued from another system and only needs to be recorded in Rillet for accounting purposes. In this workflow, users must provide the invoice number manually. Other fields can be populated based on the data imported from the external system.

For example, if your organization issues invoices through an external billing platform but tracks financials in Rillet, you should select REVENUE_RECOGNITION_ONLY. If Rillet handles the entire invoicing and sending process, choose the FULL scope.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Query Params
uuid

Stable key for retries of an approval proposal. Ignored when approvals are disabled or the invoice belongs to a contract. Use a new key for a distinct proposal.

uuid

Current approval request to replace when deliberately revising a held proposal using the same key.

Body Params
uuid
required
uuid
uuid

The customer to ship to. Omit, or send customer_id, to ship to the billing customer.

uuid | null

ID of one of the billing customer's billing_addresses. If omitted, the first address in the customer's billing_addresses is used, or none when the customer has no billing address. Send null for no billing address; rejected when a tax provider is connected. Rejected when the address does not belong to the billing customer or is not a billing address.

uuid | null

ID of one of the ship-to customer's shipping_addresses. If omitted, the first address in the ship-to customer's shipping_addresses is used, or none when it has no shipping address. Send null for no shipping address. Rejected when the address does not belong to the ship-to customer or is not a shipping address. When a shipping address is set it determines tax; otherwise the billing address does.

email_selection
object

Who receives this invoice. Omit to send it to all of the billing customer's emails (ALL_CUSTOMER_EMAILS).

items
array of objects
required
length ≥ 1
items*
date

If not provided, defaults to the invoice date.

date
required
string
string
uuid

The ID for the bank account that, should be shown on the invoice. You can find the ID in the UI at /settings/bank-accounts.

external_references
array of objects, unique
external_references
exchange_rate
object
string
Defaults to FULL
Responses

Language
Credentials
Bearer
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json