PT ATCUD Series
PT ATCUD Series
Manage Portugal ATCUD series registrations used for PT numbering and SAF-T exports.
The PT ATCUD Series Entry object
Attributes
Create PT ATCUD series
/fiscalization/pt/atcud-seriesCreate a Portugal ATCUD series registration. Invoice and advance invoice share the FT family. Series codes are unique without regard to case within each document family. Manual recovery series must start at 1. Creating a series does not retire existing series.
Header parameters
Entity ID on which the request is made. Auto-selected when only one entity exists, required when multiple entities exist.
Body parameters
Portugal fiscal document type tracked for ATCUD series numbering.
Possible values: "invoice", "advance_invoice", "credit_note", "estimate"
AT-communicated series code used in the PT document number.
AT-issued validation code: at least 8 uppercase consonants or digits 2–9 in production; uppercase alphanumeric codes starting with AA in sandbox only. No fixed maximum length. The entity environment determines which format is accepted.
First date for which the communicated series is valid.
import SpaceInvoices from '@spaceinvoices/js-sdk/sdk';
const sdk = new SpaceInvoices('YOUR_API_KEY');
const response = await sdk.ptAtcudSeries.create({
document_type: "invoice",
series_code: "FT2026A",
validation_code: "BCDF2345",
first_number: "FT FT2026A/00001",
start_date: "2026-01-01",
is_manual: false,
initial_sequence: 1
}, {
entity_id: "YOUR_ENTITY_ID"
});
console.log(response);Returns
{
"id": "id",
"entity_id": "entity-id",
"document_type": "invoice",
"series_code": "FT2026A",
"validation_code": "BCDF2345",
"first_number": "FT FT2026A/00001",
"start_date": "2026-01-01",
"is_manual": false,
"initial_sequence": 1,
"retired_at": null
}Get active PT ATCUD series
/fiscalization/pt/atcud-series/activeReturn the current non-manual, non-retired PT ATCUD series by document family. Invoice and advance invoice share one FT selection; canonical invoice registrations take precedence over historical advance-invoice aliases.
Header parameters
Entity ID on which the request is made. Auto-selected when only one entity exists, required when multiple entities exist.
Query parameters
Possible values: "invoice", "advance_invoice", "credit_note", "estimate"
import SpaceInvoices from '@spaceinvoices/js-sdk/sdk';
const sdk = new SpaceInvoices('YOUR_API_KEY');
const response = await sdk.ptAtcudSeries.getActive(undefined, {
entity_id: "YOUR_ENTITY_ID"
});
console.log(response);[
{
"id": "id",
"entity_id": "entity-id",
"document_type": "invoice",
"series_code": "FT2026A",
"validation_code": "BCDF2345",
"first_number": "FT FT2026A/00001",
"start_date": "2026-01-01",
"is_manual": false,
"initial_sequence": 1,
"retired_at": null
}
]List PT ATCUD series
/fiscalization/pt/atcud-seriesList PT ATCUD series registered on the selected PT entity, including retired series.
Header parameters
Entity ID on which the request is made. Auto-selected when only one entity exists, required when multiple entities exist.
Query parameters
Possible values: "invoice", "advance_invoice", "credit_note", "estimate"
import SpaceInvoices from '@spaceinvoices/js-sdk/sdk';
const sdk = new SpaceInvoices('YOUR_API_KEY');
const response = await sdk.ptAtcudSeries.list({
entity_id: "YOUR_ENTITY_ID"
});
console.log(response);[
{
"id": "id",
"entity_id": "entity-id",
"document_type": "invoice",
"series_code": "FT2026A",
"validation_code": "BCDF2345",
"first_number": "FT FT2026A/00001",
"start_date": "2026-01-01",
"is_manual": false,
"initial_sequence": 1,
"retired_at": null
}
]Get PT ATCUD series
/fiscalization/pt/atcud-series/{id}Get one PT ATCUD series by ID, including retired series.
Header parameters
Entity ID on which the request is made. Auto-selected when only one entity exists, required when multiple entities exist.
Path parameters
Space Invoices resource identifier (format: {prefix}_{hex24})
import SpaceInvoices from '@spaceinvoices/js-sdk/sdk';
const sdk = new SpaceInvoices('YOUR_API_KEY');
const response = await sdk.ptAtcudSeries.get("inv_6595a27b5d35015c3ef0c3fd", {
entity_id: "YOUR_ENTITY_ID"
});
console.log(response);Returns
{
"id": "id",
"entity_id": "entity-id",
"document_type": "invoice",
"series_code": "FT2026A",
"validation_code": "BCDF2345",
"first_number": "FT FT2026A/00001",
"start_date": "2026-01-01",
"is_manual": false,
"initial_sequence": 1,
"retired_at": null
}Retire PT ATCUD series
/fiscalization/pt/atcud-series/{id}/retirePermanently retire a PT ATCUD series locally, preventing future issuance while preserving the series and historical documents. Requires entity administrator access. Repeated requests return the original retirement timestamp. This action does not communicate finalization to AT.
Header parameters
Entity ID on which the request is made. Auto-selected when only one entity exists, required when multiple entities exist.
Path parameters
Space Invoices resource identifier (format: {prefix}_{hex24})
import SpaceInvoices from '@spaceinvoices/js-sdk/sdk';
const sdk = new SpaceInvoices('YOUR_API_KEY');
const response = await sdk.ptAtcudSeries.retirePtAtcudSeries("inv_6595a27b5d35015c3ef0c3fd", {
entity_id: "YOUR_ENTITY_ID"
});
console.log(response);Returns
{
"id": "id",
"entity_id": "entity-id",
"document_type": "invoice",
"series_code": "FT2026A",
"validation_code": "BCDF2345",
"first_number": "FT FT2026A/00001",
"start_date": "2026-01-01",
"is_manual": false,
"initial_sequence": 1,
"retired_at": null
}