recipientId
required |
string (uuid)
|
Recipient entity ID.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
recipientType
required |
InvoicePartyType
InvoicePartyType |
Recipient entity type.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
GatewayOwner |
Platform-level gateway owner. | Reseller |
Reseller entity. | Merchant |
Merchant entity. | Customer |
End customer. |
|
currency
required |
string
|
ISO 4217 currency code.
nullablemin length 3max length 3pattern ^[A-Za-z]{3}$
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
paymentTermsValue
required |
PaymentTerms
PaymentTerms |
Standard payment terms.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
DueOnReceipt |
Payment due immediately upon receipt. | Net15 |
Payment due within 15 days of issue. | Net30 |
Payment due within 30 days of issue. | Net45 |
Payment due within 45 days of issue. | Net60 |
Payment due within 60 days of issue. | Net90 |
Payment due within 90 days of issue. | Custom |
Custom number of days specified via InvoiceConsts. |
|
customPaymentDays
required |
integer (int32)
|
Custom number of days when PaymentTerms is Custom.
Conditional: When PaymentTermsValue == Custom. Must be > 0.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
dueDate
required |
string (date-time)
|
Manual due date override (used if PaymentTerms is null).
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
allowPartialPayment
required |
boolean
|
Whether partial payments are allowed.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
minimumPaymentAmount
required |
number (double)
|
Minimum payment amount when partial payments are enabled.
Conditional: When AllowPartialPayment is true and MinimumPaymentAmount is not null. Must be > 0.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
partialPaymentTolerance
required |
number (double)
|
Auto-close tolerance.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
depositType
required |
InvoiceDepositType
InvoiceDepositType |
When set, requests an up-front deposit on the invoice: the payer is charged exactly the deposit
first, then the remaining balance. Null means no deposit is requested. When set, `depositValue`
is required.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Percentage |
Deposit is a percentage (0 < value < 100) of the invoice grand total. | FixedAmount |
Deposit is a fixed currency amount (0 < value < grand total). |
|
depositValue
required |
number (double)
|
The deposit percentage (e.g. 25 for 25%) when `depositType` is
`Percentage`, or the fixed deposit amount when it is
`FixedAmount`. Must be positive; the resolved amount must be
strictly less than the invoice total.
Required: When DepositType is not null. Must be > 0. Must be < 100.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
depositDueDate
required |
string (date-time)
|
Optional deposit due date, distinct from the balance `dueDate`. When set, it must not
be after the balance due date.
Conditional: When DepositType is not null.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
allowedPaymentMethods
required |
array of string
array of |
Subset of biller's supported payment methods for this invoice.
Conditional: When AllowedPaymentMethods is not null.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
vaultRestriction
required |
VaultRestriction
VaultRestriction |
Controls whether new or saved payment methods are allowed.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Any |
Allow any payment method (new or saved). | AllowNewAndSaved |
Allow both new and saved payment methods. | SavedOnly |
Only allow previously saved (vaulted) payment methods. |
|
applyConvenienceFee
required |
boolean
|
Per-invoice override of the merchant's convenience fee on this invoice's payments:
`true` applies it, `false` suppresses it, and `null` (the default, and the
behaviour of any payload that omits the field) inherits the merchant and feature decision.
An override can suppress a fee but can never create one: `true` applies the fee only
when invoice convenience fees are enabled for the tenant and the merchant has a
convenience-fee configuration, and the platform's compliance rules still govern whether the
resulting transaction keeps the fee.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
hppPageId
required |
string (uuid)
|
Linked HPP configuration ID.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
templateId
required |
string (uuid)
|
Invoice style/template reference.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
invoiceLevelDiscount
required |
InvoiceDiscountDto
InvoiceDiscountDto |
Invoice-level discount.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of InvoiceDiscountDto:
| Field |
Type |
Description |
type
required |
DiscountType
DiscountType |
The type of discount applied to a line item or invoice.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Percent |
Percentage discount (e.g., 10%). | Flat |
Flat dollar amount discount (e.g., $5.00). |
| value
required |
number (double)
|
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| description
required |
string
|
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
reminderConfig
required |
InvoiceReminderConfigDto
InvoiceReminderConfigDto |
Per-invoice reminder overrides.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of InvoiceReminderConfigDto:
| Field |
Type |
Description |
preDueDays
required |
array of integer (int32)
array of |
Days before the due date to send a reminder (for example 7, 3, 1). Null or omitted inherits the
tenant default; an empty list sends no pre-due reminders for this invoice.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| dueDayReminder
required |
boolean
|
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| postDueDays
required |
array of integer (int32)
array of |
Days after the due date to send a reminder (for example 1, 7, 14, 30). Null or omitted inherits
the tenant default; an empty list sends no scheduled post-due reminders for this invoice.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| postDueRecurringDays
required |
integer (int32)
|
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| stopOnPaid
required |
boolean
|
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| maxReminders
required |
integer (int32)
|
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| dunningEndAction
required |
DunningEndAction
DunningEndAction |
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
None |
No automatic action taken. | MarkUncollectible |
Transition the invoice to Uncollectible. | Close |
Transition the invoice to Closed. |
| daysUntilUncollectible
required |
integer (int32)
|
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
sourceType
required |
InvoiceSourceType
InvoiceSourceType |
How this invoice was created.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Manual |
Manually created by a user. | UsageBilling |
Generated from usage billing data. | RecurringBilling |
Generated from a recurring billing contract. | Api |
Created via API by an external integration. |
|
sourceReferenceId
required |
string
|
Caller-provided reference.
Conditional: When SourceReferenceId is not empty. Max length: 200.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
notes
required |
array of EntityNote
array of EntityNote |
Internal notes (not shown to recipient).
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of each EntityNote:
| Field |
Type |
Description |
id
required |
string (uuid)
|
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| enteredBy
required |
string (uuid)
|
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| timestamp
required |
string (date-time)
|
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| enteredByName
required |
string
|
Denormalized display name of the user who created the note.
Populated at creation time from `ICurrentUser` to avoid N+1 lookups when rendering.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| content
required |
string
|
nullablemin length 0max length 1000
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
recipientNote
required |
string
|
Shown on the invoice to the recipient.
Conditional: When RecipientNote is not empty. Max length: 2000.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
footerText
required |
string
|
Terms and conditions text.
Conditional: When FooterText is not empty. Max length: 5000.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
lineItems
required |
array of InvoiceLineItemInputDto
array of InvoiceLineItemInputDto |
Line items to set on the invoice.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of each InvoiceLineItemInputDto:
| Field |
Type |
Description |
parentLineItemId
required |
string (uuid)
|
Parent line item ID for bundle/discount/tax line hierarchies.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| name
required |
string
|
Product name snapshot (formal product name).
nullablemax length 200
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| description
required |
string
|
Line item description shown on PDF and HPP.
nullablemax length 500
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| notes
required |
string
|
Per-line notes visible to the biller only.
nullablemax length 500
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| productId
required |
string (uuid)
|
Optional link to the product catalog.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| productCode
required |
string
|
SKU or product code.
nullablemax length 50
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| unitOfMeasure
required |
string
|
Unit of measure (e.g., "each", "hour", "GB").
nullablemax length 50
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| commodityCode
required |
string
|
Commodity code sent as enhanced (Level 3) card data when the invoice is paid by card. At most
25 characters.
nullablemax length 25
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| quantity
required |
number (double)
|
Quantity (default 1).
greater than 0
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| unitPrice
required |
number (double)
|
Unit price.
min 0
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| cost
required |
number (double)
|
Cost for margin tracking.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| pricingSource
required |
PricingSource
PricingSource |
How the unit price was determined.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Catalog |
Price taken from the product catalog at time of invoicing. | Override |
Price manually overridden by the user. | Promotion |
Price determined by a promotion or coupon. | Contract |
Price from a negotiated contract or quote. |
| discountType
required |
DiscountType
DiscountType |
Type of discount applied to this line item.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Percent |
Percentage discount (e.g., 10%). | Flat |
Flat dollar amount discount (e.g., $5.00). |
| discountValue
required |
number (double)
|
Discount value (percentage or flat amount).
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| taxRateId
required |
string (uuid)
|
Reference to a reusable tax rate definition.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| taxRatePercent
required |
number (double)
|
Snapshot of the tax rate percentage.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| taxJurisdiction
required |
string
|
Tax jurisdiction (state/country).
nullablemax length 100
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| taxRateSource
required |
InvoiceTaxRateSource
InvoiceTaxRateSource |
Optional. Where `taxRatePercent` came from. Provider is stored only when
`taxRateProviderName` is supplied and `taxRateId` is not; any other
combination is stored as Catalog when a rate id is named, otherwise Manual. Provenance is
recorded as supplied, like the percentage: the platform does not verify that a lookup ran.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
Manual |
The operator typed the percentage, or nothing recorded where it came from. | Catalog |
The percentage was snapshotted from one of the biller's named tax rates. | Provider |
The percentage was sourced from the merchant's bound tax provider. |
| taxRateProviderName
required |
string
|
Optional. The tax provider that sourced the percentage; meaningful only with a Provider source.
nullablemax length 50
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| taxCode
required |
string
|
Tax code snapshotted from product or overridden.
nullablemax length 50
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| isTaxable
required |
boolean
|
Whether tax applies to this line.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| isDiscountLine
required |
boolean
|
Indicates this is a discount adjustment line.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| isSystemGenerated
required |
boolean
|
Indicates this line was auto-generated.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| isOptional
required |
boolean
|
For quotes-to-invoices flow: whether this line is optional.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| revenueAccount
required |
string
|
GL account for revenue recognition.
nullablemax length 100
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| recognitionStartDate
required |
string (date-time)
|
Revenue recognition start date.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| recognitionEndDate
required |
string (date-time)
|
Revenue recognition end date.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| attributes
required |
object
|
Extensibility metadata (key-value pairs).
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
customFields
required |
array of CustomFieldValueDto
array of CustomFieldValueDto |
Custom field values.
nullable
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of each CustomFieldValueDto:
| Field |
Type |
Description |
id
required |
string (uuid)
|
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| key
required |
string
|
nullablemax length 100
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| label
required |
string
|
nullablemax length 200
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| value
required |
string
|
nullablemax length 2000
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
billerSnapshot
required |
InvoicePartySnapshotDto
InvoicePartySnapshotDto |
Optional biller snapshot to freeze on this invoice at creation time.
When supplied, overrides the empty-placeholder default used by IssueAsync.
Useful for programmatic/system-generated invoices where the caller already
holds the party's display info (e.g., billing-run invoice generation).
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of InvoicePartySnapshotDto:
| Field |
Type |
Description |
name
required |
string
|
nullablemax length 200
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| email
required |
string
|
nullablemax length 256
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| phone
required |
string
|
nullablemax length 30
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| addressLine1
required |
string
|
nullablemax length 200
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| addressLine2
required |
string
|
nullablemax length 200
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| city
required |
string
|
nullablemax length 100
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| state
required |
string
|
nullablemax length 100
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| postalCode
required |
string
|
nullablemax length 20
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| country
required |
string
|
nullablemax length 100
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| companyName
required |
string
|
nullablemax length 200
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| taxId
required |
string
|
nullablemax length 50
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| logoUrl
required |
string
|
nullablemax length 2048
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
recipientSnapshot
required |
InvoicePartySnapshotDto
InvoicePartySnapshotDto |
Optional recipient snapshot to freeze on this invoice at creation time.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
Fields of InvoicePartySnapshotDto:
| Field |
Type |
Description |
name
required |
string
|
nullablemax length 200
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| email
required |
string
|
nullablemax length 256
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| phone
required |
string
|
nullablemax length 30
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| addressLine1
required |
string
|
nullablemax length 200
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| addressLine2
required |
string
|
nullablemax length 200
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| city
required |
string
|
nullablemax length 100
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| state
required |
string
|
nullablemax length 100
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| postalCode
required |
string
|
nullablemax length 20
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| country
required |
string
|
nullablemax length 100
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| companyName
required |
string
|
nullablemax length 200
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| taxId
required |
string
|
nullablemax length 50
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
| logoUrl
required |
string
|
nullablemax length 2048
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
This body has no documented fields. |
billerId
required |
string (uuid)
|
The billing entity ID.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
|
billerType
required |
InvoicePartyType
InvoicePartyType |
The type of billing entity.
Values:
Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
GatewayOwner |
Platform-level gateway owner. | Reseller |
Reseller entity. | Merchant |
Merchant entity. | Customer |
End customer. |
|