Data Mart API - Release Notes
Date: 2026-05-21
Budget type now uses the full composite key - VNEDM-1948
The Budget type has been updated so that its GraphQL key matches the full GLBudgetLine primary key:
branchId,ledgerIdandfinancialYearare now marked as part of the key (@partOfKey).- A new non-nullable field
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.
deletedDatabaseRecord and includeDeleted re-added for Budgets - VNEDM-1948
Following the enablement of deletion tracking and reconciliation for the Budgets collection:
- The
deletedDatabaseRecord: Boolean!field is back on theBudgettype. - The
budgetsquery exposes theincludeDeleted: Boolean! = falseargument again. Soft-deleted budgets are excluded by default; passincludeDeleted: trueto include them.
Both were removed in VNEDM-1379 when Budgets did not yet support soft-deletion. They now behave the same way as other soft-deletion-aware entities (Accounts, CustomerDocuments, etc.).
New includeUnreleased argument on budgets query - VNEDM-1948
The ETL upsert pipeline now stores both released and unreleased GLBudgetLine rows. To preserve the historical default (released only), the budgets query exposes a new includeUnreleased: Boolean! = false argument:
budgets(no argument) - only budgets withreleased = trueare returned, matching the pre-VNEDM-1948 behaviour.budgets(includeUnreleased: true)- both released and unreleased budgets are returned.
Combine with includeDeleted as needed.
Documentation clarifications - VNEDM-1948
Schema descriptions have been reviewed and tightened:
includeDeletedargument descriptions across queries (accounts,apInvoices/supplierDocuments,apPayments/supplierPayments,apInvoiceLines/supplierDocumentLines,apPaymentLines/supplierPaymentLines,customerPayments,customerPaymentLines,customerDocuments,customerDocumentLines,customers,subaccounts,addresses,contacts,countries,salesOrders,salesOrderLines/salesOrderLinesV2,suppliers) are now consistent with the canonical wording used by the API server.- The
budgetsquery argument descriptions follow the same canonical wording. - The type-level descriptions on
APInvoice,APInvoiceLine,APPayment,SupplierPaymentLine,Address,CountryandLocationhave been reverted to indicate that deletion detection is still in development for these entities. ThedeletedDatabaseRecordfield on these types should not be relied on as a deletion signal yet.
No behavioural changes; only schema descriptions are affected.