External ID of the Customer the invoice is associated with.
Either the customer_id or the customer_external_id must be provided.
A customer does not need to be created before creating an invoice.
When you provide a customer external id, Layer will create a customer object with the provided external id if it does not already exist.
Customer details can be udpated later using the Update a customer endpoint.
The Account Identifier for the line item. If specified, the line item will be attributed to this specific account, typically a product or service revenue account.
If not specified, the product name will be mapped to a revenue account based on the business or industry’s accounting configuration.
This object can either be either a Tax_Name or an AccountIdentifier object.
An Account Identifier can be used when a known specific ledger account is appropriate for a tax.
A Tax Name can be used to create and use tax categories dynamaically.
This object can either be either a Tax_Name or an AccountIdentifier object.
An Account Identifier can be used when a known specific ledger account is appropriate for a tax.
A Tax Name can be used to create and use tax categories dynamaically.
The Account Identifier for a tips account.
If not specified, tips will be attributed to the Chart of Account’s default tips account, default a liability account.
Alternate accounts can be specified in case tips should be tracked as revenue.
Processor used to make the payment, if any.
Any processor name can be provided and will be tracked.
Supported processors (STRIPE, SHOPIFY) will have additional asset balance tracking.
You can specify an invoice as immediately paid by including InvoicePayment object(s) in the payments field of the invoice. This allows you to create and invoice and specify the full payment information in a single API call.
This is equivalent to creating an invoice and then creating a payment fully allocated to that invoice.