Data Mart API - 2026-10-02
In this release:
- Supplier documents, payments and payment lines: new fields on
SupplierDocument,SupplierPaymentandSupplierPaymentLine. - APHistoricalData: new query, disabled in Production while testing is in progress.
Changes to the Data Mart GraphQL API
View All TagsIn this release:
SupplierDocument, SupplierPayment and SupplierPaymentLine.In this release:
customerId and supplierId fields on sales order, document and payment lines.deletedDatabaseRecord field and includeDeleted argument; removed balances no longer returned by default.The Contact type now includes a nullable dateOfBirth field sourced from the contact's date of birth. Values use the YYYY-MM-DD calendar format with no time or timezone. A missing source value is returned as null.
The field is available in environments where the updated Contacts API and ETL are deployed.
arHistoricalData query and its fields appear in the GraphQL reference, but the corresponding ETL is not enabled in Production. This documentation does not announce production availability for AR historical data.inventoryItems query to retrieve inventory item data.Both are marked EXPERIMENTAL: they may change or be removed without notice, and they are not yet recommended for production integrations. They are published now so you can evaluate them and give feedback on the pagination contract before it is fixed.
generalLedgerBalancesForwardByGroup. Same arguments and same response shape; the difference is that page cost no longer grows with the size of your company's dataset.ledgerId / branchId / accountId / subaccountId group, replacing generalLedgerBalancesByPeriod.Location.paymentBy is now nullableThe deprecated paymentBy field on the Location type has changed from Int! to Int:
paymentBy: Int - returns the raw ERP payment by code (0 = Due Date, 1 = Discount Date), and null when the ERP holds no value.The underlying ERP column is nullable, so the previous non-null declaration could not be guaranteed. In practice existing locations all carry a value; clients that read the deprecated paymentBy field should nevertheless handle null. The recommended field remains paymentByType: String, which is unchanged and returns "Due Date", "Discount Date", or null when the ERP holds no value or a value outside the known set.
The descriptions of both paymentBy and paymentByType have been updated accordingly.
financialPeriodsThe financialPeriods query and the FinancialPeriod type are now available, exposing the company's financial calendar:
finPeriodId, startDate, endDate, description, active, year.closedInGeneralLedger, closedInSupplierLedger, closedInCustomerLedger, closedInInventoryManagement, closedInCashManagement, closedInFixedAssets.Budget type now uses the full composite keyThe Budget type has been updated so that its GraphQL key matches the full GLBudgetLine primary key:
branchId, ledgerId and financialYear are now marked as part of the key (@partOfKey).parentGroupId: String! has been added and is also part of the key.This aligns the schema with the underlying ETL collection, which has been reimported with the same composite key. Clients querying the Budget type should add parentGroupId to their selection sets where the parent budget line is relevant.
includeDeleted argument removed from selected queriesThe includeDeleted argument has been removed from the queries listed below. For these entities the underlying deletedDatabaseRecord field is not populated, so the argument had no effect - it was previously documented as Not active yet for budgets and journalTransactions, and as deprecated for the GL balance queries. It has now been dropped from the schema entirely.
deferralScheduleNbr on invoice line typesA new optional deferralScheduleNbr: String field is exposed on the following types. It carries the deferral schedule's business number, separate from the existing deferralSchedule (description) and deferredCode (code) values.
APInvoiceLineSupplierDocumentLine