Recurring invoices

Recurring invoices are invoices that repeat at periods and durations that you define in the recurrence schedule.

List recurring invoices

get/objects/accounts-receivable/recurring-invoice

Returns a collection with a key, ID, and link for each recurring invoice. This operation is mostly for use in testing; use the query service to find objects that meet certain criteria and to specify properties that are returned.

SecurityOAuth2
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": [
    • {
      • "key": "3",
      • "id": "3",
      • "href": "/objects/accounts-receivable/recurring-invoice/3"
      },
    • {
      • "key": "4",
      • "id": "4",
      • "href": "/objects/accounts-receivable/recurring-invoice/4"
      },
    • {
      • "key": "7",
      • "id": "7",
      • "href": "/objects/accounts-receivable/recurring-invoice/7"
      }
    ],
  • "ia::meta": {
    • "totalCount": 3,
    • "start": 1,
    • "pageSize": 100,
    • "next": null,
    • "previous": null
    }
}

Create a recurring invoice

post/objects/accounts-receivable/recurring-invoice

Creates a new recurring invoice.

SecurityOAuth2
Request
Request Body schema: application/json
required
invoiceNumber
required
string

Each occurrence of the invoice is numbered incrementally based on the sequence type defined in Company Setup - Document Sequence.

Example: "AR-INV"
object

Tax solution details for this invoice.

key
string or null

System-assigned key to uniquely identify the tax solution.

Example: "4"
id
string or null

Name or other unique identifier for the tax solution.

Example: "Australia GST"
description
string or null

Description of the recurring invoice.

Example: "Monthly premium subscription"
referenceNumber
string

A number, such as a purchase order or account number, that may be useful in searches for or reports on this invoice.

Example: "PO1223"
object

Settings that establish the recurrence schedule.

object

Settings that establish the recurrence schedule.

startDate
required
string <date>

The first date on which the invoice is generated.

Example: "2024-01-01"
endDate
string or null <date>

If the scheduleEnd is set to endDate, this establishes the final date on which the invoice will be generated.

Example: "2025-01-01"
repeatCount
string or null

If scheduleEnd is set to numberOfOccurrences, this establishes the number of times the invoice is generated.

Example: "1"
repeatInterval
string or null
Default: "1"

Repeat interval for generating the recurring invoice. For example, if repeatBy is set to month and the repeatInterval is set to 2, an invoice is generated every other month after the start date.

Example: "2"
repeatBy
string
Default: "day"

Indicates the regular interval at which the invoice is generated. To have the invoice occur at regular intervals, set to day, week, month or year. Set to none to have the invoice occur only once.

If set to day, week, month or year, the invoice will recur at the next interval on the same date as the start date. To make an invoice with a monthly interval generate at the end of the month, set to endOfMonth.

Enum: "day" "endOfMonth" "month" "none" "week" "year"
Example: "day"
scheduleEnd
string

Termination point for the recurring invoice schedule.

Enum: "endDate" "never" "numberOfOccurrences"
Example: "never"
object

Payment terms, which are used to calculate due date, discounts, and penalties associated with this invoice.

key
required
string

System-assigned key for the payment term.

Example: "16"
id
string

Name or other unique identifier for the payment term.

Example: "N15"
object
id
string or null

Unique identifier for the contract.

Example: "CON-2"
description
string or null

Description of the contract.

Example: "Contract 2"
object
txnCurrency
required
string

For multi-currency companies, the currency for the invoice.

Example: "USD"
baseCurrency
string

For multi-currency companies, the company's base currency.

Example: "USD"
exchangeRate
number or null

Exchange rate

Example: 1.0789
exchangeRateTypeId
string or null

Exchange rate type

Example: "Intacct Daily Rate"
object

Message to include on the customer's invoice.

key
string

System-assigned key for the customer message.

Example: "10"
id
string

ID for the customer message.

Example: "welcome message"
message
string

Message text for the customer message.

Example: "welcome to the company"
txnTotalEntered
string <decimal-precision-2>

Total transaction amount entered.

Example: "100"
object

Contacts for the invoice.

object

Customer contact to receive the invoice.

key
string

System-assigned key for the contact.

Example: "15"
id
string

Name of the contact.

Example: "Klay Vanderbilt"
object

Ship-to contact for the invoice.

key
string

System-assigned key for the contact.

Example: "15"
id
string

Name of the contact.

Example: "Klay Vanderbilt"
object

Tax related information for the ship-to contact.

object

Customer to receive the invoice.

key
required
string

System-assigned key for the customer.

Example: "10"
id
string

ID for the customer.

Example: "2"
object

List of payments on the recurring AR invoice.

paymentMethod
string

Payment method.

Enum: "cash" "creditCard" "eft" "none" "onlineAchDebit" "onlineChargeCard" "printedCheck"
Example: "creditCard"
paymentAmount
string or null <decimal-precision-2>

Recurring invoice payment amount.

Example: "25.00"
creditCardType
string or null

Card type.

Enum: "amex" "diners" "discover" "mc" null "other" "visa"
Example: "visa"
accountType
string or null
Default: null

Type of account to which the payment will be deposited.

Enum: "bank" null "undepositedFundsAccount"
Example: "bank"
payInFull
boolean
Default: true

Indicates whether to pay the invoice in full.

Example: true
bankAccountId
string or null

Bank account record number.

Example: "SBME"
bankAccountID
string or null
Deprecated

This field is deprecated, please use bankAccountId.

Example: "SBME"
undepositedFundsAccountId
string or null

Undeposited funds account number.

Example: "1070"
object
key
string or null

Customer credit card key.

Example: "10"
id
string or null

Customer credit card id.

Example: "Card101"
object

Supporting document for the invoice.

key
string or null

System-assigned key for the attachment.

Example: "6"
id
string or null

Unique ID of the attachment.

Example: "Doc6331"
Array of objects

Line items of the invoice.

Array
txnAmount
required
string <decimal-precision-2>

Transaction amount of the line item.

Example: "100.00"
description
string or null

Provides information about the line item that may be of use in the future.

Example: "Service charges"
amount
string <decimal-precision-2>

Base amount of the line item.

Example: "100"
totalTxnAmount
string <decimal-precision-2>

For tax inclusive recurring invoices, provide a total transaction amount.

Example: "100.00"
isBillable
boolean
Default: false

Indicates whether the line item is billable.

Example: true
object

Currency information for the line item.

isTax
boolean
Default: false

Indicates whether the line item is taxable.

Example: true
isSubTotal
boolean
Default: false

Indicates whether the line item is a subtotal.

Example: true
object

Type of transaction allocation for the line item.

object

Account label for the account that the line item is assigned to.

object

For companies subscribed to the Taxes application, the tax category for the line item.

startDate
string or null <date>

Revenue recognition start date.

Example: "2024-01-23"
endDate
string or null <date>

Revenue recognition end date.

Example: "2024-01-23"
object

GL account for deferred revenue for the line item.

object

GL account the line item is assigned to.

object
object

GL account for discounts and penalties.

Array of objects

Tax Entries of the AR recurring invoice

object

Header level details for the AR recurring invoice line entries.

status
string
Default: "active"

Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced.

Enum: "active" "inactive"
Example: "active"
status
string
Default: "active"

Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced.

Enum: "active" "inactive"
Example: "active"
Responses
201

Created

400

Bad Request

Request samples
application/json
{
  • "description": "Monthly premium subscription",
  • "term": {
    • "key": "25"
    },
  • "invoiceNumber": "AR-INV",
  • "referenceNumber": "PO1223",
  • "customer": {
    • "key": "10"
    },
  • "currency": {
    • "txnCurrency": "USD",
    • "baseCurrency": "USD"
    },
  • "payment": {
    • "paymentMethod": "onlineChargeCard",
    • "payInFull": true,
    • "accountType": "bank",
    • "bankAccountId": "BOA"
    },
  • "schedule": {
    • "startDate": "2024-03-11",
    • "repeatBy": "month",
    • "repeatInterval": "2"
    },
  • "lines": [
    • {
      • "description": "line 1",
      • "glAccount": {
        },
      • "txnAmount": "250.00"
      }
    ]
}
Response samples
application/json
{
  • "ia::result": {
    • "id": "4",
    • "key": "4",
    • "href": "/objects/accounts-receivable/recurring-invoice/4"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Get a recurring invoice

get/objects/accounts-receivable/recurring-invoice/{key}

Returns detailed information for a specified recurring invoice.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the recurring invoice.

Example: 99
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "id": "24",
    • "key": "24",
    • "description": "nextGen Recurr",
    • "audit": {
      • "createdDateTime": "2024-09-24T00:00:00Z",
      • "modifiedDateTime": "2024-09-24T14:18:18Z",
      • "createdBy": "1",
      • "modifiedBy": "1"
      },
    • "term": {
      • "key": "15",
      • "id": "Due upon pay",
      • "href": "/objects/accounts-receivable/term/15"
      },
    • "invoiceNumber": "Adjustment Decrease",
    • "totalEntered": "440.00",
    • "referenceNumber": null,
    • "status": "active",
    • "customer": {
      • "name": "Power Aerospace Materials",
      • "key": "1",
      • "id": "1",
      • "href": "/objects/accounts-receivable/customer/1"
      },
    • "scheduledOperation": {
      • "id": "7",
      • "key": "7",
      • "href": "/objects/core/scheduled-operation/7"
      },
    • "contract": {
      • "id": null,
      • "description": null
      },
    • "contacts": {
      • "billTo": {
        },
      • "shipTo": {
        }
      },
    • "currency": {
      • "txnCurrency": "AUD",
      • "baseCurrency": "AUD",
      • "exchangeRateTypeId": "",
      • "exchangeRate": 1
      },
    • "txnTotalEntered": "440.00",
    • "customerMessage": {
      • "key": null,
      • "id": null,
      • "message": null
      },
    • "payment": {
      • "paymentMethod": "none",
      • "payInFull": true,
      • "paymentAmount": null,
      • "customerCreditCard": {
        },
      • "creditCardType": null,
      • "accountType": null,
      • "bankAccountId": null,
      • "undepositedFundsAccountId": null
      },
    • "schedule": {
      • "txnCount": "5",
      • "startDate": "2024-09-24",
      • "endDate": null,
      • "nextExecutionDate": "2024-09-25",
      • "lastExecutionDate": "2024-09-24",
      • "repeatCount": "3",
      • "repeatBy": "day",
      • "repeatInterval": "1"
      },
    • "taxSolution": {
      • "key": "1",
      • "id": "Australia - GST",
      • "href": "/objects/tax/tax-solution/1"
      },
    • "attachment": {
      • "id": "atch1",
      • "key": null
      },
    • "lines": [
      • {
        }
      ],
    • "href": "/objects/accounts-receivable/recurring-invoice/24",
    • "entity": {
      • "key": null,
      • "id": null,
      • "name": null
      }
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Update a recurring invoice

patch/objects/accounts-receivable/recurring-invoice/{key}

Updates an existing recurring invoice by setting field values. Any fields not provided remain unchanged.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the recurring invoice.

Example: 99
Request Body schema: application/json
invoiceNumber
string

Each occurrence of the invoice is numbered incrementally based on the sequence type defined in Company Setup - Document Sequence.

Example: "AR-INV"
object

Tax solution details for this invoice.

key
string or null

System-assigned key to uniquely identify the tax solution.

Example: "4"
id
string or null

Name or other unique identifier for the tax solution.

Example: "Australia GST"
description
string or null

Description of the recurring invoice.

Example: "Monthly premium subscription"
referenceNumber
string

A number, such as a purchase order or account number, that may be useful in searches for or reports on this invoice.

Example: "PO1223"
object

Settings that establish the recurrence schedule.

object

Settings that establish the recurrence schedule.

startDate
string <date>

The first date on which the invoice is generated.

Example: "2024-01-01"
endDate
string or null <date>

If the scheduleEnd is set to endDate, this establishes the final date on which the invoice will be generated.

Example: "2025-01-01"
repeatCount
string or null

If scheduleEnd is set to numberOfOccurrences, this establishes the number of times the invoice is generated.

Example: "1"
repeatInterval
string or null
Default: "1"

Repeat interval for generating the recurring invoice. For example, if repeatBy is set to month and the repeatInterval is set to 2, an invoice is generated every other month after the start date.

Example: "2"
repeatBy
string
Default: "day"

Indicates the regular interval at which the invoice is generated. To have the invoice occur at regular intervals, set to day, week, month or year. Set to none to have the invoice occur only once.

If set to day, week, month or year, the invoice will recur at the next interval on the same date as the start date. To make an invoice with a monthly interval generate at the end of the month, set to endOfMonth.

Enum: "day" "endOfMonth" "month" "none" "week" "year"
Example: "day"
scheduleEnd
string

Termination point for the recurring invoice schedule.

Enum: "endDate" "never" "numberOfOccurrences"
Example: "never"
object

Payment terms, which are used to calculate due date, discounts, and penalties associated with this invoice.

key
string

System-assigned key for the payment term.

Example: "16"
id
string

Name or other unique identifier for the payment term.

Example: "N15"
object
id
string or null

Unique identifier for the contract.

Example: "CON-2"
description
string or null

Description of the contract.

Example: "Contract 2"
object
baseCurrency
string

For multi-currency companies, the company's base currency.

Example: "USD"
txnCurrency
string

For multi-currency companies, the currency for the invoice.

Example: "USD"
exchangeRate
number or null

Exchange rate

Example: 1.0789
exchangeRateTypeId
string or null

Exchange rate type

Example: "Intacct Daily Rate"
object

Message to include on the customer's invoice.

key
string

System-assigned key for the customer message.

Example: "10"
id
string

ID for the customer message.

Example: "welcome message"
message
string

Message text for the customer message.

Example: "welcome to the company"
txnTotalEntered
string <decimal-precision-2>

Total transaction amount entered.

Example: "100"
object

Contacts for the invoice.

object

Customer contact to receive the invoice.

key
string

System-assigned key for the contact.

Example: "15"
id
string

Name of the contact.

Example: "Klay Vanderbilt"
object

Ship-to contact for the invoice.

key
string

System-assigned key for the contact.

Example: "15"
id
string

Name of the contact.

Example: "Klay Vanderbilt"
object

Tax related information for the ship-to contact.

object

Customer to receive the invoice.

key
string

System-assigned key for the customer.

Example: "10"
id
string

ID for the customer.

Example: "2"
object

List of payments on the recurring AR invoice.

paymentMethod
string

Payment method.

Enum: "cash" "creditCard" "eft" "none" "onlineAchDebit" "onlineChargeCard" "printedCheck"
Example: "creditCard"
paymentAmount
string or null <decimal-precision-2>

Recurring invoice payment amount.

Example: "25.00"
creditCardType
string or null

Card type.

Enum: "amex" "diners" "discover" "mc" null "other" "visa"
Example: "visa"
accountType
string or null
Default: null

Type of account to which the payment will be deposited.

Enum: "bank" null "undepositedFundsAccount"
Example: "bank"
payInFull
boolean
Default: true

Indicates whether to pay the invoice in full.

Example: true
bankAccountId
string or null

Bank account record number.

Example: "SBME"
bankAccountID
string or null
Deprecated

This field is deprecated, please use bankAccountId.

Example: "SBME"
undepositedFundsAccountId
string or null

Undeposited funds account number.

Example: "1070"
object
key
string or null

Customer credit card key.

Example: "10"
id
string or null

Customer credit card id.

Example: "Card101"
object

Supporting document for the invoice.

key
string or null

System-assigned key for the attachment.

Example: "6"
id
string or null

Unique ID of the attachment.

Example: "Doc6331"
Array of objects

Line items of the invoice.

Array
description
string or null

Provides information about the line item that may be of use in the future.

Example: "Service charges"
amount
string <decimal-precision-2>

Base amount of the line item.

Example: "100"
txnAmount
string <decimal-precision-2>

Transaction amount of the line item.

Example: "100.00"
totalTxnAmount
string <decimal-precision-2>

For tax inclusive recurring invoices, provide a total transaction amount.

Example: "100.00"
isBillable
boolean
Default: false

Indicates whether the line item is billable.

Example: true
object

Currency information for the line item.

isTax
boolean
Default: false

Indicates whether the line item is taxable.

Example: true
isSubTotal
boolean
Default: false

Indicates whether the line item is a subtotal.

Example: true
object

Type of transaction allocation for the line item.

object

Account label for the account that the line item is assigned to.

object

For companies subscribed to the Taxes application, the tax category for the line item.

startDate
string or null <date>

Revenue recognition start date.

Example: "2024-01-23"
endDate
string or null <date>

Revenue recognition end date.

Example: "2024-01-23"
object

GL account for deferred revenue for the line item.

object

GL account the line item is assigned to.

object
object

GL account for discounts and penalties.

Array of objects

Tax Entries of the AR recurring invoice

object

Header level details for the AR recurring invoice line entries.

status
string
Default: "active"

Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced.

Enum: "active" "inactive"
Example: "active"
status
string
Default: "active"

Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced.

Enum: "active" "inactive"
Example: "active"
Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "description": "Renewed subscription for 2024",
  • "status": "active"
}
Response samples
application/json
{
  • "ia::result": {
    • "id": "4",
    • "key": "4",
    • "href": "/objects/accounts-receivable/recurring-invoice/4"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Delete a recurring invoice

delete/objects/accounts-receivable/recurring-invoice/{key}

Deletes a recurring invoice. If a recurring invoice is no longer in use, you can delete it instead of ending the recurring schedule. For example, if a contract with a customer is permanently canceled, you can delete the recurring invoice for that customer.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the recurring invoice.

Example: 99
Responses
204

No Content

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "ia::error": {
      • "code": "invalidRequest",
      • "message": "A POST request requires a payload",
      • "errorId": "REST-1028",
      • "additionalInfo": {
        },
      • "supportId": "Kxi78%7EZuyXBDEGVHD2UmO1phYXDQAAAAo"
      }
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 0,
    • "totalError": 1
    }
}