Skip to main content

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, ledgerId and financialYear are 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 the Budget type.
  • The budgets query exposes the includeDeleted: Boolean! = false argument again. Soft-deleted budgets are excluded by default; pass includeDeleted: true to 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 with released = true are 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:

  • includeDeleted argument 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 budgets query argument descriptions follow the same canonical wording.
  • The type-level descriptions on APInvoice, APInvoiceLine, APPayment, SupplierPaymentLine, Address, Country and Location have been reverted to indicate that deletion detection is still in development for these entities. The deletedDatabaseRecord field on these types should not be relied on as a deletion signal yet.

No behavioural changes; only schema descriptions are affected.