Invoice series
An invoice series supplies the prefix and independent sequence used to generate invoice numbers such as INV-00001. Its internal counter is intentionally not exposed or editable.
Accounts configure separate defaults for invoices, credit notes, and amendment replacements. Every account starts with an invoice default. Global-regime accounts leave the other two empty until you configure them; Spanish accounts start with three distinct defaults.
Prefixes contain at most 20 uppercase letters or digits. FiscalRail normalizes input on creation and update. Test-account prefixes always begin with the reserved TEST- marker, which FiscalRail adds automatically and counts toward the 20-character limit. A live-account prefix cannot begin with that marker.
A series can be deleted only before it has been used and only while it is not an account default. Issued invoice numbers and their series remain immutable.
The Invoice Series object
id
string
object
string
invoice_series.live
boolean
account
string
prefix
string
default_for
array of enums
created_at
string
{
"id": "inv_ser_14Vxtqg4QFd6rL8cUoK3sZ",
"object": "invoice_series",
"live": true,
"account": "acct_14Vxtqg2nwvPR75TpsGH8N",
"prefix": "INV",
"default_for": [
"invoice"
],
"created_at": "2026-07-31T09:00:00Z"
}
Create an invoice series
/v1/invoice-seriesCreates an invoice series. The first series is automatically made the account default.
prefix
string
required
TEST- for test accounts.default_for
array of enums
201
An Invoice Series object.
JSON
curl --request POST \
'https://api.fiscalrail.com/v1/invoice-series' \
--header "Authorization: Bearer ak_test_..."
{
"id": "inv_ser_14Vxtqg4QFd6rL8cUoK3sZ",
"object": "invoice_series",
"live": true,
"account": "acct_14Vxtqg2nwvPR75TpsGH8N",
"prefix": "INV",
"default_for": [
"invoice"
],
"created_at": "2026-07-31T09:00:00Z"
}
Retrieve an invoice series
/v1/invoice-series/{id}id
string
required
200
An Invoice Series object.
JSON
curl --request GET \
'https://api.fiscalrail.com/v1/invoice-series/inv_ser_14Vxtqg4QFd6rL8cUoK3sZ' \
--header "Authorization: Bearer ak_test_..."
{
"id": "inv_ser_14Vxtqg4QFd6rL8cUoK3sZ",
"object": "invoice_series",
"live": true,
"account": "acct_14Vxtqg2nwvPR75TpsGH8N",
"prefix": "INV",
"default_for": [
"invoice"
],
"created_at": "2026-07-31T09:00:00Z"
}
Update an invoice series
/v1/invoice-series/{id}Makes or stops making this series the account default. Series prefixes are immutable through the API.
id
string
required
prefix
string
TEST- marker for test accounts.default_for
array of enums
200
The updated Invoice Series object.
JSON
curl --request PATCH \
'https://api.fiscalrail.com/v1/invoice-series/inv_ser_14Vxtqg4QFd6rL8cUoK3sZ' \
--header "Authorization: Bearer ak_test_..."
{
"id": "inv_ser_14Vxtqg4QFd6rL8cUoK3sZ",
"object": "invoice_series",
"live": true,
"account": "acct_14Vxtqg2nwvPR75TpsGH8N",
"prefix": "INV",
"default_for": [
"invoice"
],
"created_at": "2026-07-31T09:00:00Z"
}
Delete an invoice series
/v1/invoice-series/{id}Deletes an invoice series that has not been used to issue an invoice.
id
string
required
204
The invoice series was deleted. The response has no body.
curl --request DELETE \
'https://api.fiscalrail.com/v1/invoice-series/inv_ser_14Vxtqg4QFd6rL8cUoK3sZ' \
--header "Authorization: Bearer ak_test_..."
List invoice series
/v1/invoice-seriesReturns invoice series in reverse chronological ID order.
limit
integer
25.starting_after
string
ending_before.ending_before
string
starting_after.
200
A list of Invoice Series objects.
JSON
curl --request GET \
'https://api.fiscalrail.com/v1/invoice-series?limit=25' \
--header "Authorization: Bearer ak_test_..."
{
"object": "list",
"has_more": null,
"data": [
{
"id": "inv_ser_14Vxtqg4QFd6rL8cUoK3sZ",
"object": "invoice_series",
"live": true,
"account": "acct_14Vxtqg2nwvPR75TpsGH8N",
"prefix": "INV",
"default_for": [
"invoice"
],
"created_at": "2026-07-31T09:00:00Z"
}
]
}