extraProperties
required |
object
|
nullableread only
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.
|
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.
|
creationTime
required |
string (date-time)
|
The date and time when this entity was created.
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.
|
creatorId
required |
string (uuid)
|
The ID of the user who created this entity.
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.
|
lastModificationTime
required |
string (date-time)
|
The date and time when this entity was last modified.
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.
|
lastModifierId
required |
string (uuid)
|
The ID of the user who last modified this entity.
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.
|
isDeleted
required |
boolean
|
Indicates whether this entity has been deleted.
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.
|
deleterId
required |
string (uuid)
|
The ID of the user who deleted this entity, if it is deleted.
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.
|
deletionTime
required |
string (date-time)
|
The date and time when this entity was deleted, if it is deleted.
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.
|
tenantId
required |
string (uuid)
|
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.
|
billerId
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.
|
billerType
required |
InvoicePartyType
InvoicePartyType |
Identifies the type of entity acting as the biller or recipient on an 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.
GatewayOwner |
Platform-level gateway owner. | Reseller |
Reseller entity. | Merchant |
Merchant entity. | Customer |
End customer. |
|
recipientId
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.
|
recipientType
required |
InvoicePartyType
InvoicePartyType |
Identifies the type of entity acting as the biller or recipient on an 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.
GatewayOwner |
Platform-level gateway owner. | Reseller |
Reseller entity. | Merchant |
Merchant entity. | Customer |
End customer. |
|
invoiceNumber
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.
|
status
required |
InvoiceStatus
InvoiceStatus |
Represents the lifecycle status of an 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.
Draft |
Created, editable, not yet issued. | Issued |
Locked and immutable from this point forward. | Sent |
Delivered to recipient via a notification channel. | Viewed |
Recipient opened/viewed the invoice. | PartiallyPaid |
Some payments applied, balance remaining. | Paid |
Fully paid (balance = 0). | PastDue |
Due date passed with outstanding balance. | Closed |
Manually closed (write-off). | Uncollectible |
Auto-marked after dunning period exhausted (configurable: 30/60/90 days past due). | Cancelled |
Voided (only from Draft). | Refunded |
Full refund issued. |
|
isLocked
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.
|
isDemoData
required |
boolean
|
True when this invoice belongs to the biller's removable demo data set. Null for every other
invoice. Read-only: no request sets it. Filter on it to leave demo rows out of a list.
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.
|
billerSnapshot
required |
InvoicePartySnapshotDto
InvoicePartySnapshotDto |
Read DTO for denormalized biller/recipient info frozen at invoice issuance.
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 |
Read DTO for denormalized biller/recipient info frozen at invoice issuance.
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. |
currency
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.
|
subtotal
required |
number (double)
|
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.
|
taxTotal
required |
number (double)
|
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.
|
discountTotal
required |
number (double)
|
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.
|
grandTotal
required |
number (double)
|
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.
|
amountPaid
required |
number (double)
|
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.
|
amountCredited
required |
number (double)
|
Total of the credit notes applied to this invoice. Null when none has been applied. The
balance due is the grand total less `amountPaid` and this 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.
|
balanceDue
required |
number (double)
|
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 |
DTO for an 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. |
issueDate
required |
string (date-time)
|
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)
|
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.
|
sentAt
required |
string (date-time)
|
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.
|
viewedAt
required |
string (date-time)
|
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.
|
paidAt
required |
string (date-time)
|
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.
|
paymentTermsValue
required |
PaymentTerms
PaymentTerms |
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)
|
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
|
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)
|
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)
|
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 |
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 |
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 |
No restriction. The payment session carries no vault directive. | AllowNewAndSaved |
Allow both new and saved payment methods. The hosted payment page shows no saved-card picker, so this value behaves like Any there. | SavedOnly |
Only allow previously saved (vaulted) payment methods. Carried onto the payment session but not enforced: where the hosted payment page accepts cards, it still offers new card entry. |
|
applyConvenienceFee
required |
boolean
|
Per-invoice override of the merchant's convenience fee on this invoice's payments.
`null` inherits the merchant and feature decision. `true` applies the fee only
when invoice convenience fees are enabled for the tenant.
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.
|
depositRequest
required |
InvoiceDepositRequestInfoDto
InvoiceDepositRequestInfoDto |
The deposit request on this invoice, if any. Null when no deposit was requested.
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 InvoiceDepositRequestInfoDto:
| Field |
Type |
Description |
depositType
required |
InvoiceDepositType
InvoiceDepositType |
Whether the deposit is a percentage of the total or a fixed amount.
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 configured percentage (e.g. 25 for 25%) or fixed amount.
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.
| depositAmount
required |
number (double)
|
The resolved absolute deposit amount (rounded to the cent).
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)
|
When the deposit is due; null when due on receipt with 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.
| isSatisfied
required |
boolean
|
True once the deposit has been fully collected.
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. |
hppPageId
required |
string (uuid)
|
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)
|
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.
|
sourceType
required |
InvoiceSourceType
InvoiceSourceType |
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
|
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 |
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
|
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
|
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.
|
reminderConfig
required |
InvoiceReminderConfigDto
InvoiceReminderConfigDto |
DTO for invoice reminder configuration. Each member overrides the tenant's reminder default on its
own; a member that is null or omitted inherits that default.
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. |
lineItems
required |
array of InvoiceLineItemDto
array of InvoiceLineItemDto |
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 InvoiceLineItemDto:
| Field |
Type |
Description |
id
required |
string (uuid)
|
Stable identity for update/delete operations.
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.
| sortOrder
required |
integer (int32)
|
Display order on the 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.
| 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).
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.
| description
required |
string
|
Line item description shown on PDF and HPP.
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 |
string
|
Per-line notes visible to the biller only.
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.
| 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.
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.
| unitOfMeasure
required |
string
|
Unit of measure (e.g., "each", "hour", "GB").
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.
| commodityCode
required |
string
|
Commodity code sent as enhanced (Level 3) card data when the invoice is paid by card. At most
25 characters.
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.
| quantity
required |
number (double)
|
Quantity.
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.
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.
| grossAmount
required |
number (double)
|
Computed: Quantity * UnitPrice.
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.
| discountAmount
required |
number (double)
|
Resolved discount 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.
| netAmount
required |
number (double)
|
After discount, before tax.
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.
| taxableAmount
required |
number (double)
|
Explicit taxable base 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.
| taxAmount
required |
number (double)
|
Computed tax amount.
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).
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.
| taxRateSource
required |
InvoiceTaxRateSource
InvoiceTaxRateSource |
Where `taxRatePercent` came from. Always populated on read: a line stored before
provenance existed reads as Catalog when it names a `taxRateId`, otherwise Manual.
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
|
The tax provider that sourced the percentage, when `taxRateSource` is Provider.
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.
| taxCode
required |
string
|
Tax code snapshotted from product or overridden.
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.
| 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.
| lineTotal
required |
number (double)
|
Line total including tax.
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.
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.
| 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. |
payments
required |
array of InvoicePaymentDto
array of InvoicePaymentDto |
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 InvoicePaymentDto:
| 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.
| transactionId
required |
string (uuid)
|
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.
| amount
required |
number (double)
|
The amount applied against the invoice balance: the invoiced base, never a fee-inclusive
total. Fees the payer was charged on top ride the members below.
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.
| convenienceFeeAmount
required |
number (double)
|
The convenience fee charged on top of `amount`, in the invoice currency, when one was
assessed.
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.
| surchargeAmount
required |
number (double)
|
The credit-card surcharge charged on top of `amount`, in the invoice currency, when one
was assessed.
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.
| chargedTotal
required |
number (double)
|
The total the payer was actually charged, when known.
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.
| paymentMethod
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.
| status
required |
InvoicePaymentStatus
InvoicePaymentStatus |
Status of a payment attempt against an 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.
Pending |
Payment is pending processing. | Succeeded |
Payment succeeded. | Declined |
Payment was declined by the processor. | Returned |
Payment was returned (e.g., ACH return). | Refunded |
Payment was refunded. | Indeterminate |
The attempt reached the processor but produced no answer the invoice can act on: a referral the merchant has to resolve by voice, a pending or submitted authorization, a partial approval whose approved base cannot be derived, or a status the platform does not recognize. Nothing is credited against the balance and the attempt is not a decline; the row exists so the invoice shows that someone tried and what came back. |
| declineReasonCode
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.
| appliedAt
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.
| notes
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.
| recordedBy
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. |
activities
required |
array of InvoiceActivityDto
array of InvoiceActivityDto |
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 InvoiceActivityDto:
| 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.
| 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.
| type
required |
InvoiceActivityType
InvoiceActivityType |
Classifies entries in the invoice activity timeline.
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.
Created |
Invoice was created. | Sent |
Invoice was sent to the recipient. | Viewed |
Recipient viewed the invoice. | PaymentReceived |
A payment was received. | PaymentDeclined |
A payment attempt was declined. | ReminderSent |
A reminder was sent. | StatusChanged |
Invoice status changed. | Edited |
Invoice was edited (Draft only). | Closed |
Invoice was closed. | Cancelled |
Invoice was cancelled. | Refunded |
Invoice was refunded. | CreditApplied |
A credit note was applied. | NoteAdded |
An internal note was added. | AutoChargeAttempted |
An automatic payment was attempted (auto-charge or smart-retry). | PaymentRetryScheduled |
A soft-declined automatic payment was scheduled for a retry. | PaymentRetriesExhausted |
Smart-retry attempts were exhausted (max attempts or retry window reached). | PaymentRetriesStopped |
Smart-retry attempts were stopped (hard decline or manual intervention). | PaymentPlanStarted |
A payment plan was set up against the invoice balance. | InstallmentCollected |
An installment was collected (manually recorded or auto-charged). | InstallmentCollectionFailed |
An automatic installment collection attempt failed (declined). | PaymentPlanCancelled |
The payment plan was cancelled before all installments were collected. | PaymentIndeterminate |
A payment attempt came back with a result the invoice cannot act on (a referral, a pending or submitted authorization, a partial approval, or an unrecognized status). Nothing was credited. Appended last: the numeric value is stored on the activity row and must never be renumbered. | PaymentLinkReissued |
An operator replaced the payment link with a fresh one without notifying the recipient. The previous link stopped working. Appended last: the numeric value is stored on the activity row and must never be renumbered. | PaymentLinkNotIssued |
The invoice was sent with no payment link. The description says why in operator terms and the metadata carries the stable InvoicePaymentLinkNotIssuedReason code. Appended last: the numeric value is stored on the activity row and must never be renumbered. | PaymentLinkWithdrawn |
A payment left a balance owed, and the payment link could not be moved onto a fresh payment session for that balance, so the invoice no longer has a working link. The description says why in operator terms and the metadata carries the stable InvoicePaymentLinkNotIssuedReason code. Appended last: the numeric value is stored on the activity row and must never be renumbered. | EmailNotSent |
The invoice was marked as sent, but the invoice email did not go out. The description says why in operator terms and the metadata carries the stable InvoiceEmailNotSentReason code. Appended last: the numeric value is stored on the activity row and must never be renumbered. | ReminderNotSent |
A reminder was due and attempted, but its email did not go out. It takes the reminder's slot exactly as ReminderSent does, so the schedule does not retry it. The metadata carries the stable InvoiceEmailNotSentReason code. Appended last: the numeric value is stored on the activity row and must never be renumbered. | PaymentUnallocated |
A gateway payment was larger than the balance it paid. The invoice was credited the balance, and the rest of the charge belongs to no invoice until an operator refunds it. The description names the unallocated amount and the transaction; the metadata carries both. Appended last: the numeric value is stored on the activity row and must never be renumbered. |
| 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.
| userId
required |
string (uuid)
|
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.
| metadata
required |
string
|
Extra context for the entry as a JSON object, or null. A `PaymentLinkNotIssued` or
`PaymentLinkWithdrawn` entry carries
`{"reason": "<code>"}`, plus `"errorCode"` when the hosted page refused the payment
session for a reason without its own code. Reason codes are stable; treat an unrecognized one as a
generic "no payment link" reason. A `PaymentUnallocated` entry carries
`{"unallocatedAmount": n, "transactionId": "<id>"}`: the part of a payment above the
balance that no invoice was credited, and the transaction to refund it from.
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 |
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. |
concurrencyStamp
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.
|
entityVersion
required |
integer (int32)
|
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.
|
sendOutcome
required |
InvoiceSendOutcomeDto
InvoiceSendOutcomeDto |
Whether the invoice email went out and whether the invoice got a payment link. Set only on the
response to a send (a first send or a re-send) and null on every other read. A set field never
means the send failed: the status has moved, and the same reason is on the activity timeline.
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 InvoiceSendOutcomeDto:
| Field |
Type |
Description |
emailNotSentReason
required |
InvoiceEmailNotSentReason
InvoiceEmailNotSentReason |
Why the invoice email did not go out, or null when the email service accepted it. A message
accepted and later bounced reads as sent here.
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.
NoRecipientEmail |
The invoice's recipient has no email address. | NoTemplate |
The email template is missing or could not be rendered. | TransportError |
The email service refused the message or could not be reached. | Disabled |
The host is configured to deliver no email at all (log-only mode). | Unexpected |
Something else stopped the email. The host log has the detail. |
| paymentLinkNotIssuedReason
required |
InvoicePaymentLinkNotIssuedReason
InvoicePaymentLinkNotIssuedReason |
Why the invoice was sent with no payment link, or null when it has one.
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.
NothingPayable |
The invoice has nothing left to pay. | BillerNotMerchant |
The invoice is not billed by a merchant, so hosted-page ownership cannot be confirmed. | NoDefaultHostedPage |
The invoice names no hosted page and the merchant has no active payment page to default to. | AmbiguousDefaultHostedPage |
The invoice names no hosted page and the merchant has more than one active payment page. | NoPermittedPaymentMethod |
Every payment method the invoice allows is turned off for the merchant. | HostedPageNotFound |
The hosted page the invoice targets was not found for the invoice's merchant. Covers a deleted page and a page that belongs to another merchant alike, by design. | HostedPageInactive |
The hosted page the invoice targets is inactive. | SessionRejected |
The hosted page refused the payment session for another reason; the metadata carries the stable error code. |
|
This body has no documented fields. |