<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="atom.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://docs.datamart.visma.com/release-notes</id>
    <title>Visma Net Data Mart - Release Notes</title>
    <updated>2026-06-10T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://docs.datamart.visma.com/release-notes"/>
    <subtitle>Release notes for the Visma Net Data Mart API and ETL</subtitle>
    <icon>https://docs.datamart.visma.com/img/256-Visma-Net-logo-x2.png</icon>
    <rights>Copyright © 2026 Visma.</rights>
    <entry>
        <title type="html"><![CDATA[Data Mart API - 2026-06-10]]></title>
        <id>https://docs.datamart.visma.com/release-notes/2026-06-10-api</id>
        <link href="https://docs.datamart.visma.com/release-notes/2026-06-10-api"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[New query: financialPeriods]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-query-financialperiods">New query: <code>financialPeriods</code><a href="https://docs.datamart.visma.com/release-notes/2026-06-10-api#new-query-financialperiods" class="hash-link" aria-label="Direct link to new-query-financialperiods" title="Direct link to new-query-financialperiods" translate="no">​</a></h2>
<p>The <code>financialPeriods</code> query and the <code>FinancialPeriod</code> type are now available, exposing the company's financial calendar:</p>
<ul>
<li class="">Core fields: <code>finPeriodId</code>, <code>startDate</code>, <code>endDate</code>, <code>description</code>, <code>active</code>, <code>year</code>.</li>
<li class="">Per-module close flags: <code>closedInGeneralLedger</code>, <code>closedInSupplierLedger</code>, <code>closedInCustomerLedger</code>, <code>closedInInventoryManagement</code>, <code>closedInCashManagement</code>, <code>closedInFixedAssets</code>.</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-query-warehouselocations">New query: <code>warehouseLocations</code><a href="https://docs.datamart.visma.com/release-notes/2026-06-10-api#new-query-warehouselocations" class="hash-link" aria-label="Direct link to new-query-warehouselocations" title="Direct link to new-query-warehouselocations" translate="no">​</a></h2>
<p>The <code>warehouseLocations</code> query is now available, exposing bin/location records within a warehouse via the <code>WarehouseLocation</code> type:</p>
<ul>
<li class="">Core fields: <code>warehouseId</code>, <code>locationId</code>, <code>locationCd</code>, <code>locationDescription</code>, <code>active</code>.</li>
<li class="">Operational flags: <code>inclQtyAvail</code>, <code>isCosted</code>, <code>salesValid</code>, <code>receiptsValid</code>, <code>transfersValid</code>, <code>assemblyValid</code>, <code>primaryItemValid</code>.</li>
<li class="">References: <code>primaryItemId</code>, <code>primaryItemClassId</code>, <code>projectId</code>, <code>taskId</code>.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="locationpaymentbytype-is-now-nullable"><code>Location.paymentByType</code> is now nullable<a href="https://docs.datamart.visma.com/release-notes/2026-06-10-api#locationpaymentbytype-is-now-nullable" class="hash-link" aria-label="Direct link to locationpaymentbytype-is-now-nullable" title="Direct link to locationpaymentbytype-is-now-nullable" translate="no">​</a></h2>
<p>The <code>paymentByType</code> field on the <code>Location</code> type has changed from <code>String!</code> to <code>String</code>:</p>
<ul>
<li class=""><code>paymentByType: String</code> - returns <code>"Due Date"</code> or <code>"Discount Date"</code> for the known ERP values, and <code>null</code> when the ERP holds a value outside that set.</li>
</ul>
<p>The raw ERP value remains available in the deprecated <code>paymentBy: Int!</code> field. Clients that treated <code>paymentByType</code> as always present should handle a <code>null</code> value.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="schema-documentation-regenerated">Schema documentation regenerated<a href="https://docs.datamart.visma.com/release-notes/2026-06-10-api#schema-documentation-regenerated" class="hash-link" aria-label="Direct link to Schema documentation regenerated" title="Direct link to Schema documentation regenerated" translate="no">​</a></h2>
<p>The published GraphQL schema documentation has been regenerated from the current API schema, so all available queries and types are now documented - including <code>generalLedgerBalancesByPeriod</code>, <code>generalLedgerBalancesV2</code>, <code>salesOrderLinesV2</code> and the <code>GeneralLedgerBalanceForwardPage</code> type. No behavioural change accompanies the documentation refresh; these endpoints were already served by the API.</p>]]></content>
        <author>
            <name>Data Mart Team</name>
            <uri>https://docs.datamart.visma.com</uri>
        </author>
        <category label="API" term="API"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Data Mart ETL - 2026-06-10]]></title>
        <id>https://docs.datamart.visma.com/release-notes/2026-06-10-etl</id>
        <link href="https://docs.datamart.visma.com/release-notes/2026-06-10-etl"/>
        <updated>2026-06-10T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[New ETL: Financial Periods]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-etl-financial-periods">New ETL: Financial Periods<a href="https://docs.datamart.visma.com/release-notes/2026-06-10-etl#new-etl-financial-periods" class="hash-link" aria-label="Direct link to New ETL: Financial Periods" title="Direct link to New ETL: Financial Periods" translate="no">​</a></h2>
<p>The <code>FinancialPeriods</code> collection is now synced from the ERP. Each document describes a period in the company's financial calendar:</p>
<ul>
<li class=""><code>finPeriodId</code>, <code>startDate</code>, <code>endDate</code>, <code>description</code>, <code>active</code> and <code>year</code>.</li>
<li class="">Per-module close flags: <code>closedInGeneralLedger</code>, <code>closedInSupplierLedger</code>, <code>closedInCustomerLedger</code>, <code>closedInInventoryManagement</code>, <code>closedInCashManagement</code> and <code>closedInFixedAssets</code>.</li>
</ul>
<p>The collection supports deletion tracking and reconciliation (<code>deletedDatabaseRecord</code>).</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-etl-warehouse-locations">New ETL: Warehouse Locations<a href="https://docs.datamart.visma.com/release-notes/2026-06-10-etl#new-etl-warehouse-locations" class="hash-link" aria-label="Direct link to New ETL: Warehouse Locations" title="Direct link to New ETL: Warehouse Locations" translate="no">​</a></h2>
<p>The <code>WarehouseLocations</code> collection is now synced from the ERP. Each document represents a bin/location within a warehouse:</p>
<ul>
<li class=""><code>warehouseId</code>, <code>locationId</code>, <code>locationCd</code>, <code>locationDescription</code> and <code>active</code>.</li>
<li class="">Operational flags: <code>inclQtyAvail</code>, <code>isCosted</code>, <code>salesValid</code>, <code>receiptsValid</code>, <code>transfersValid</code>, <code>assemblyValid</code> and <code>primaryItemValid</code>.</li>
<li class="">References: <code>primaryItemId</code>, <code>primaryItemClassId</code>, <code>projectId</code> and <code>taskId</code>.</li>
</ul>
<p>The collection supports deletion tracking and reconciliation (<code>deletedDatabaseRecord</code>).</p>]]></content>
        <author>
            <name>Data Mart Team</name>
            <uri>https://docs.datamart.visma.com</uri>
        </author>
        <category label="ETL" term="ETL"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Data Mart API - 2026-05-21]]></title>
        <id>https://docs.datamart.visma.com/release-notes/2026-05-21-api</id>
        <link href="https://docs.datamart.visma.com/release-notes/2026-05-21-api"/>
        <updated>2026-05-21T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Budget type now uses the full composite key]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="budget-type-now-uses-the-full-composite-key"><code>Budget</code> type now uses the full composite key<a href="https://docs.datamart.visma.com/release-notes/2026-05-21-api#budget-type-now-uses-the-full-composite-key" class="hash-link" aria-label="Direct link to budget-type-now-uses-the-full-composite-key" title="Direct link to budget-type-now-uses-the-full-composite-key" translate="no">​</a></h2>
<p>The <code>Budget</code> type has been updated so that its GraphQL key matches the full GLBudgetLine primary key:</p>
<ul>
<li class=""><code>branchId</code>, <code>ledgerId</code> and <code>financialYear</code> are now marked as part of the key (<code>@partOfKey</code>).</li>
<li class="">A new non-nullable field <code>parentGroupId: String!</code> has been added and is also part of the key.</li>
</ul>
<p>This aligns the schema with the underlying ETL collection, which has been reimported with the same composite key. Clients querying the <code>Budget</code> type should add <code>parentGroupId</code> to their selection sets where the parent budget line is relevant.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deleteddatabaserecord-and-includedeleted-re-added-for-budgets"><code>deletedDatabaseRecord</code> and <code>includeDeleted</code> re-added for Budgets<a href="https://docs.datamart.visma.com/release-notes/2026-05-21-api#deleteddatabaserecord-and-includedeleted-re-added-for-budgets" class="hash-link" aria-label="Direct link to deleteddatabaserecord-and-includedeleted-re-added-for-budgets" title="Direct link to deleteddatabaserecord-and-includedeleted-re-added-for-budgets" translate="no">​</a></h2>
<p>Following the enablement of deletion tracking and reconciliation for the Budgets collection:</p>
<ul>
<li class="">The <code>deletedDatabaseRecord: Boolean!</code> field is back on the <code>Budget</code> type.</li>
<li class="">The <code>budgets</code> query exposes the <code>includeDeleted: Boolean! = false</code> argument again. Soft-deleted budgets are excluded by default; pass <code>includeDeleted: true</code> to include them.</li>
</ul>
<p>Both were removed earlier, when Budgets did not yet support soft-deletion. They now behave the same way as other soft-deletion-aware entities (Accounts, CustomerDocuments, etc.).</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-includeunreleased-argument-on-budgets-query">New <code>includeUnreleased</code> argument on <code>budgets</code> query<a href="https://docs.datamart.visma.com/release-notes/2026-05-21-api#new-includeunreleased-argument-on-budgets-query" class="hash-link" aria-label="Direct link to new-includeunreleased-argument-on-budgets-query" title="Direct link to new-includeunreleased-argument-on-budgets-query" translate="no">​</a></h2>
<p>The ETL upsert pipeline now stores both released and unreleased GLBudgetLine rows. To preserve the historical default (released only), the <code>budgets</code> query exposes a new <code>includeUnreleased: Boolean! = false</code> argument:</p>
<ul>
<li class=""><code>budgets</code> (no argument) - only budgets with <code>released = true</code> are returned, matching the previous behaviour.</li>
<li class=""><code>budgets(includeUnreleased: true)</code> - both released and unreleased budgets are returned.</li>
</ul>
<p>Combine with <code>includeDeleted</code> as needed.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="documentation-clarifications">Documentation clarifications<a href="https://docs.datamart.visma.com/release-notes/2026-05-21-api#documentation-clarifications" class="hash-link" aria-label="Direct link to Documentation clarifications" title="Direct link to Documentation clarifications" translate="no">​</a></h2>
<p>Schema descriptions have been reviewed and tightened:</p>
<ul>
<li class=""><code>includeDeleted</code> argument descriptions across queries (<code>accounts</code>, <code>apInvoices</code>/<code>supplierDocuments</code>, <code>apPayments</code>/<code>supplierPayments</code>, <code>apInvoiceLines</code>/<code>supplierDocumentLines</code>, <code>apPaymentLines</code>/<code>supplierPaymentLines</code>, <code>customerPayments</code>, <code>customerPaymentLines</code>, <code>customerDocuments</code>, <code>customerDocumentLines</code>, <code>customers</code>, <code>subaccounts</code>, <code>addresses</code>, <code>contacts</code>, <code>countries</code>, <code>salesOrders</code>, <code>salesOrderLines</code>/<code>salesOrderLinesV2</code>, <code>suppliers</code>) are now consistent with the canonical wording used by the API server.</li>
<li class="">The <code>budgets</code> query argument descriptions follow the same canonical wording.</li>
<li class="">The type-level descriptions on <code>APInvoice</code>, <code>APInvoiceLine</code>, <code>APPayment</code>, <code>SupplierPaymentLine</code>, <code>Address</code>, <code>Country</code> and <code>Location</code> have been reverted to indicate that <strong>deletion detection is still in development for these entities</strong>. The <code>deletedDatabaseRecord</code> field on these types should not be relied on as a deletion signal yet.</li>
</ul>
<p>No behavioural changes; only schema descriptions are affected.</p>]]></content>
        <author>
            <name>Data Mart Team</name>
            <uri>https://docs.datamart.visma.com</uri>
        </author>
        <category label="API" term="API"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Data Mart ETL - 2026-05-21]]></title>
        <id>https://docs.datamart.visma.com/release-notes/2026-05-21-etl</id>
        <link href="https://docs.datamart.visma.com/release-notes/2026-05-21-etl"/>
        <updated>2026-05-21T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Budgets collection reimport]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="budgets-collection-reimport">Budgets collection reimport<a href="https://docs.datamart.visma.com/release-notes/2026-05-21-etl#budgets-collection-reimport" class="hash-link" aria-label="Direct link to Budgets collection reimport" title="Direct link to Budgets collection reimport" translate="no">​</a></h2>
<p>The Budgets collection has been updated to use the full GLBudgetLine composite key (<code>companyId</code>, <code>branchId</code>, <code>ledgerId</code>, <code>financialYear</code>, <code>groupId</code>, <code>parentGroupId</code>). Sibling budget lines that share a <code>groupId</code> but differ in <code>parentGroupId</code> were previously collapsed under a single document, causing related rows to be lost.</p>
<!-- -->
<p>As part of this change, the Budgets collection will be reimported in full. Existing documents will be replaced; no manual action is required from integrators.</p>
<p>The upsert pipeline also no longer filters on <code>Released = 1</code>, so unreleased budget lines are now tracked. This is a prerequisite for the deletion tracking change below.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deletion-tracking-and-reconciliation-enabled-for-budgets">Deletion tracking and reconciliation enabled for Budgets<a href="https://docs.datamart.visma.com/release-notes/2026-05-21-etl#deletion-tracking-and-reconciliation-enabled-for-budgets" class="hash-link" aria-label="Direct link to Deletion tracking and reconciliation enabled for Budgets" title="Direct link to Deletion tracking and reconciliation enabled for Budgets" translate="no">​</a></h2>
<p>Deletion tracking is now available for the Budgets collection. GLBudgetLine deletions in the ERP are picked up via <code>ChangeNotifications</code> and the matching Budget document is soft-deleted (<code>deletedDatabaseRecord = true</code>).</p>
<p>Reconciliation has also been enabled for Budgets: the periodic sweep now matches MongoDB Budget documents against <code>GLBudgetLine</code> rows using the full composite key (<code>BranchID</code>, <code>LedgerID</code>, <code>FinYear</code>, <code>GroupID</code>, <code>ParentGroupID</code>) and soft-deletes any orphaned documents missed by the notification pipeline.</p>]]></content>
        <author>
            <name>Data Mart Team</name>
            <uri>https://docs.datamart.visma.com</uri>
        </author>
        <category label="ETL" term="ETL"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Data Mart ETL - 2026-05-11]]></title>
        <id>https://docs.datamart.visma.com/release-notes/2026-05-11-etl</id>
        <link href="https://docs.datamart.visma.com/release-notes/2026-05-11-etl"/>
        <updated>2026-05-11T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Data Quality Improvements]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="data-quality-improvements">Data Quality Improvements<a href="https://docs.datamart.visma.com/release-notes/2026-05-11-etl#data-quality-improvements" class="hash-link" aria-label="Direct link to Data Quality Improvements" title="Direct link to Data Quality Improvements" translate="no">​</a></h2>
<ul>
<li class="">Deletion tracking is now available for all collections except Budgets, GeneralLedgerBalances, and JournalTransactions. The API exposes an <code>includeDeleted</code> filter so integrations can choose whether soft-deleted records are included in query results.</li>
</ul>
<!-- -->
<ul>
<li class="">Reconciliation has been run for all collections that support deletion tracking, marking existing DataMart documents as deleted where the corresponding ERP records were deleted. These collections are now up to date.</li>
</ul>]]></content>
        <author>
            <name>Data Mart Team</name>
            <uri>https://docs.datamart.visma.com</uri>
        </author>
        <category label="ETL" term="ETL"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Data Mart API - 2026-04-30]]></title>
        <id>https://docs.datamart.visma.com/release-notes/2026-04-30-api</id>
        <link href="https://docs.datamart.visma.com/release-notes/2026-04-30-api"/>
        <updated>2026-04-30T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Removed Query Arguments]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="removed-query-arguments">Removed Query Arguments<a href="https://docs.datamart.visma.com/release-notes/2026-04-30-api#removed-query-arguments" class="hash-link" aria-label="Direct link to Removed Query Arguments" title="Direct link to Removed Query Arguments" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="includedeleted-argument-removed-from-selected-queries"><code>includeDeleted</code> argument removed from selected queries<a href="https://docs.datamart.visma.com/release-notes/2026-04-30-api#includedeleted-argument-removed-from-selected-queries" class="hash-link" aria-label="Direct link to includedeleted-argument-removed-from-selected-queries" title="Direct link to includedeleted-argument-removed-from-selected-queries" translate="no">​</a></h3>
<p>The <code>includeDeleted</code> argument has been removed from the queries listed below. For these entities the underlying <code>deletedDatabaseRecord</code> field is not populated, so the argument had no effect - it was previously documented as <em>Not active yet</em> for <code>budgets</code> and <code>journalTransactions</code>, and as deprecated for the GL balance queries. It has now been dropped from the schema entirely.</p>
<!-- -->
<ul>
<li class=""><code>budgets</code></li>
<li class=""><code>journalTransactions</code></li>
<li class=""><code>generalLedgerBalances</code></li>
<li class=""><code>generalLedgerBalancesV2</code></li>
<li class=""><code>generalLedgerBalancesByPeriod</code></li>
<li class=""><code>generalLedgerBalancesForwardByGroup</code></li>
<li class=""><code>generalLedgerBalancesForwardExpanded</code></li>
</ul>
<p>Existing clients that passed <code>includeDeleted</code> to any of these queries should remove the argument. Behavior is unchanged: results have always been returned regardless of the value passed.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="removed-fields">Removed Fields<a href="https://docs.datamart.visma.com/release-notes/2026-04-30-api#removed-fields" class="hash-link" aria-label="Direct link to Removed Fields" title="Direct link to Removed Fields" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="deleteddatabaserecord-removed-from-selected-types"><code>deletedDatabaseRecord</code> removed from selected types<a href="https://docs.datamart.visma.com/release-notes/2026-04-30-api#deleteddatabaserecord-removed-from-selected-types" class="hash-link" aria-label="Direct link to deleteddatabaserecord-removed-from-selected-types" title="Direct link to deleteddatabaserecord-removed-from-selected-types" translate="no">​</a></h3>
<p>The <code>deletedDatabaseRecord: Boolean!</code> field has been removed from the following types because it is not populated for these entities:</p>
<ul>
<li class=""><code>Budget</code></li>
<li class=""><code>GeneralLedgerBalance</code> (was previously marked deprecated for the same reason)</li>
<li class=""><code>JournalTransaction</code></li>
</ul>
<p>Clients that selected this field in queries against these types must remove it from their selection set.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="documentation-clarifications">Documentation Clarifications<a href="https://docs.datamart.visma.com/release-notes/2026-04-30-api#documentation-clarifications" class="hash-link" aria-label="Direct link to Documentation Clarifications" title="Direct link to Documentation Clarifications" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="deleteddatabaserecord-marked-as-not-active-yet-on-remaining-types"><code>deletedDatabaseRecord</code> marked as <em>Not active yet</em> on remaining types<a href="https://docs.datamart.visma.com/release-notes/2026-04-30-api#deleteddatabaserecord-marked-as-not-active-yet-on-remaining-types" class="hash-link" aria-label="Direct link to deleteddatabaserecord-marked-as-not-active-yet-on-remaining-types" title="Direct link to deleteddatabaserecord-marked-as-not-active-yet-on-remaining-types" translate="no">​</a></h3>
<p>The <code>deletedDatabaseRecord</code> field has been annotated as <strong>Not active yet</strong> on every object type that still exposes it, with the exception of <code>SOLine</code> and <code>SalesOrderLine</code> where the field is populated. The field remains in the schema for forward compatibility, but does not yet reflect the actual soft-deletion state for the affected types.</p>]]></content>
        <author>
            <name>Data Mart Team</name>
            <uri>https://docs.datamart.visma.com</uri>
        </author>
        <category label="API" term="API"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Data Mart API - 2026-04-28]]></title>
        <id>https://docs.datamart.visma.com/release-notes/2026-04-28-api</id>
        <link href="https://docs.datamart.visma.com/release-notes/2026-04-28-api"/>
        <updated>2026-04-28T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[New Fields]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-fields">New Fields<a href="https://docs.datamart.visma.com/release-notes/2026-04-28-api#new-fields" class="hash-link" aria-label="Direct link to New Fields" title="Direct link to New Fields" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="deferralschedulenbr-on-invoice-line-types"><code>deferralScheduleNbr</code> on invoice line types<a href="https://docs.datamart.visma.com/release-notes/2026-04-28-api#deferralschedulenbr-on-invoice-line-types" class="hash-link" aria-label="Direct link to deferralschedulenbr-on-invoice-line-types" title="Direct link to deferralschedulenbr-on-invoice-line-types" translate="no">​</a></h3>
<p>A new optional <code>deferralScheduleNbr: String</code> field is exposed on the following types. It carries the deferral schedule's business number, separate from the existing <code>deferralSchedule</code> (description) and <code>deferredCode</code> (code) values.</p>
<ul>
<li class=""><code>APInvoiceLine</code></li>
<li class=""><code>SupplierDocumentLine</code></li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="removed-deprecations">Removed Deprecations<a href="https://docs.datamart.visma.com/release-notes/2026-04-28-api#removed-deprecations" class="hash-link" aria-label="Direct link to Removed Deprecations" title="Direct link to Removed Deprecations" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="deferredcode-is-no-longer-deprecated"><code>deferredCode</code> is no longer deprecated<a href="https://docs.datamart.visma.com/release-notes/2026-04-28-api#deferredcode-is-no-longer-deprecated" class="hash-link" aria-label="Direct link to deferredcode-is-no-longer-deprecated" title="Direct link to deferredcode-is-no-longer-deprecated" translate="no">​</a></h3>
<p>The <code>deferredCode</code> field on <code>APInvoiceLine</code> and <code>SupplierDocumentLine</code> is no longer marked as deprecated. The previous deprecation hint pointing to <code>deferralSchedule</code> has been removed because <code>deferredCode</code>, <code>deferralSchedule</code>, and the new <code>deferralScheduleNbr</code> now represent three distinct values (code, description, and business number) and are all populated independently.</p>]]></content>
        <author>
            <name>Data Mart Team</name>
            <uri>https://docs.datamart.visma.com</uri>
        </author>
        <category label="API" term="API"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Data Mart ETL - 2026-04-28]]></title>
        <id>https://docs.datamart.visma.com/release-notes/2026-04-28-etl</id>
        <link href="https://docs.datamart.visma.com/release-notes/2026-04-28-etl"/>
        <updated>2026-04-28T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[New Fields]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-fields">New Fields<a href="https://docs.datamart.visma.com/release-notes/2026-04-28-etl#new-fields" class="hash-link" aria-label="Direct link to New Fields" title="Direct link to New Fields" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="supplierdocumentline--apinvoiceline">SupplierDocumentLine / APInvoiceLine<a href="https://docs.datamart.visma.com/release-notes/2026-04-28-etl#supplierdocumentline--apinvoiceline" class="hash-link" aria-label="Direct link to SupplierDocumentLine / APInvoiceLine" title="Direct link to SupplierDocumentLine / APInvoiceLine" translate="no">​</a></h3>
<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>DeferralScheduleNbr</td><td>string</td><td>The deferral schedule's business number, populated separately from the existing <code>DeferralSchedule</code> (description) and <code>DeferredCode</code> (code) values.</td></tr></tbody></table>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="data-quality-improvements">Data Quality Improvements<a href="https://docs.datamart.visma.com/release-notes/2026-04-28-etl#data-quality-improvements" class="hash-link" aria-label="Direct link to Data Quality Improvements" title="Direct link to Data Quality Improvements" translate="no">​</a></h2>
<ul>
<li class="">Deferral schedule values on supplier document lines are now split across three independent fields - <code>DeferredCode</code> (code), <code>DeferralSchedule</code> (description), and the new <code>DeferralScheduleNbr</code> (business number). Previously the description and code were conflated and the business number was not surfaced. <code>DeferredCode</code> is no longer deprecated.</li>
<li class="">Legacy <code>deferralSchedule</code> values stored as non-string types in MongoDB are now read through a lenient BSON serializer, so historical documents continue to deserialize after the field's semantics changed.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="operational-updates">Operational Updates<a href="https://docs.datamart.visma.com/release-notes/2026-04-28-etl#operational-updates" class="hash-link" aria-label="Direct link to Operational Updates" title="Direct link to Operational Updates" translate="no">​</a></h2>
<ul>
<li class="">The patch initiation HTTP trigger now returns a confirmation body - <code>Patch '{patchName}' started successfully. Instance ID: {instanceId}.</code> - alongside the existing <code>202 Accepted</code> response, making it easier for callers to correlate the kicked-off run.</li>
</ul>]]></content>
        <author>
            <name>Data Mart Team</name>
            <uri>https://docs.datamart.visma.com</uri>
        </author>
        <category label="ETL" term="ETL"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Data Mart API - 2026-04-23]]></title>
        <id>https://docs.datamart.visma.com/release-notes/2026-04-23-api</id>
        <link href="https://docs.datamart.visma.com/release-notes/2026-04-23-api"/>
        <updated>2026-04-23T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[New Query Arguments]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-query-arguments">New Query Arguments<a href="https://docs.datamart.visma.com/release-notes/2026-04-23-api#new-query-arguments" class="hash-link" aria-label="Direct link to New Query Arguments" title="Direct link to New Query Arguments" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="includedeleted-parameter-added-to-additional-queries"><code>includeDeleted</code> parameter added to additional queries<a href="https://docs.datamart.visma.com/release-notes/2026-04-23-api#includedeleted-parameter-added-to-additional-queries" class="hash-link" aria-label="Direct link to includedeleted-parameter-added-to-additional-queries" title="Direct link to includedeleted-parameter-added-to-additional-queries" translate="no">​</a></h3>
<blockquote>
<p><strong>Not active yet.</strong></p>
</blockquote>
<p>The <code>includeDeleted</code> argument (<code>Boolean! = false</code>) is now available on the following queries. When <code>false</code> (the default), soft-deleted records (<code>deletedDatabaseRecord = true</code>) are excluded from results. Pass <code>includeDeleted: true</code> to include them.</p>
<!-- -->
<ul>
<li class=""><code>accounts</code></li>
<li class=""><code>addresses</code></li>
<li class=""><code>apInvoiceLines</code></li>
<li class=""><code>apPaymentLines</code></li>
<li class=""><code>branches</code></li>
<li class=""><code>budgets</code></li>
<li class=""><code>countries</code></li>
<li class=""><code>customers</code></li>
<li class=""><code>customerDocuments</code></li>
<li class=""><code>customerDocumentLines</code></li>
<li class=""><code>customerPaymentLines</code></li>
<li class=""><code>journalTransactions</code></li>
<li class=""><code>locations</code></li>
<li class=""><code>paymentMethods</code></li>
<li class=""><code>projectTasks</code></li>
<li class=""><code>salesOrders</code></li>
<li class=""><code>salesPersons</code></li>
<li class=""><code>salesPrices</code></li>
<li class=""><code>states</code></li>
<li class=""><code>supplierDocumentLines</code></li>
<li class=""><code>supplierPaymentLines</code></li>
<li class=""><code>suppliers</code></li>
<li class=""><code>terms</code></li>
<li class=""><code>vatCategories</code></li>
<li class=""><code>vatZones</code></li>
<li class=""><code>warehouses</code></li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-fields">New Fields<a href="https://docs.datamart.visma.com/release-notes/2026-04-23-api#new-fields" class="hash-link" aria-label="Direct link to New Fields" title="Direct link to New Fields" translate="no">​</a></h2>
<p>The <code>deletedDatabaseRecord: Boolean!</code> field is now exposed on the following types, letting callers identify records that have been soft-deleted by the ETL's deletion-tracking or reconciliation flows:</p>
<ul>
<li class=""><code>Address</code></li>
<li class=""><code>Budget</code></li>
<li class=""><code>Country</code></li>
<li class=""><code>CustomerDocumentLine</code></li>
<li class=""><code>JournalTransaction</code></li>
<li class=""><code>Location</code></li>
<li class=""><code>ProjectTask</code></li>
<li class=""><code>SalesOrder</code></li>
<li class=""><code>SalesPerson</code></li>
<li class=""><code>SalesPrice</code></li>
<li class=""><code>State</code></li>
<li class=""><code>Terms</code></li>
<li class=""><code>VatCategory</code></li>
<li class=""><code>VatZone</code></li>
<li class=""><code>Warehouse</code></li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deprecations">Deprecations<a href="https://docs.datamart.visma.com/release-notes/2026-04-23-api#deprecations" class="hash-link" aria-label="Direct link to Deprecations" title="Direct link to Deprecations" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="includedeleted-argument-on-gl-balance-queries"><code>includeDeleted</code> argument on GL balance queries<a href="https://docs.datamart.visma.com/release-notes/2026-04-23-api#includedeleted-argument-on-gl-balance-queries" class="hash-link" aria-label="Direct link to includedeleted-argument-on-gl-balance-queries" title="Direct link to includedeleted-argument-on-gl-balance-queries" translate="no">​</a></h3>
<blockquote>
<p><strong>Not active yet.</strong></p>
</blockquote>
<p>The <code>includeDeleted</code> argument is deprecated on the following queries because <code>deletedDatabaseRecord</code> is not currently populated for general ledger balances; passing the argument has no effect.</p>
<ul>
<li class=""><code>generalLedgerBalances</code></li>
<li class=""><code>generalLedgerBalancesV2</code></li>
<li class=""><code>generalLedgerBalancesForwardByGroup</code></li>
<li class=""><code>generalLedgerBalancesForwardExpanded</code></li>
<li class=""><code>generalLedgerBalancesByPeriod</code></li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="generalledgerbalancedeleteddatabaserecord-field"><code>GeneralLedgerBalance.deletedDatabaseRecord</code> field<a href="https://docs.datamart.visma.com/release-notes/2026-04-23-api#generalledgerbalancedeleteddatabaserecord-field" class="hash-link" aria-label="Direct link to generalledgerbalancedeleteddatabaserecord-field" title="Direct link to generalledgerbalancedeleteddatabaserecord-field" translate="no">​</a></h3>
<p>The <code>deletedDatabaseRecord</code> field on the <code>GeneralLedgerBalance</code> type is marked deprecated for the same reason. The field is included in the schema for type-consistency with other soft-delete-aware entities, but it is not populated for GL balances.</p>]]></content>
        <author>
            <name>Data Mart Team</name>
            <uri>https://docs.datamart.visma.com</uri>
        </author>
        <category label="API" term="API"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Data Mart API - 2026-04-15]]></title>
        <id>https://docs.datamart.visma.com/release-notes/2026-04-15-api</id>
        <link href="https://docs.datamart.visma.com/release-notes/2026-04-15-api"/>
        <updated>2026-04-15T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Improvements]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="improvements">Improvements<a href="https://docs.datamart.visma.com/release-notes/2026-04-15-api#improvements" class="hash-link" aria-label="Direct link to Improvements" title="Direct link to Improvements" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="all-etls-now-enabled-in-production">All ETLs now enabled in production<a href="https://docs.datamart.visma.com/release-notes/2026-04-15-api#all-etls-now-enabled-in-production" class="hash-link" aria-label="Direct link to All ETLs now enabled in production" title="Direct link to All ETLs now enabled in production" translate="no">​</a></h3>
<p>All available ETL processes are now enabled in production. Previously disabled ETLs can now be activated through the provisioning API.</p>
<!-- -->
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="clearer-error-when-activating-a-non-existent-company">Clearer error when activating a non-existent company<a href="https://docs.datamart.visma.com/release-notes/2026-04-15-api#clearer-error-when-activating-a-non-existent-company" class="hash-link" aria-label="Direct link to Clearer error when activating a non-existent company" title="Direct link to Clearer error when activating a non-existent company" translate="no">​</a></h3>
<p>Calling <code>activateEtl</code> or <code>deactivateEtl</code> for a company that does not exist in ERP now returns a structured <code>NOT_FOUND</code> error with the message <code>"Company {id} does not exist in ERP."</code> instead of a generic <code>INTERNAL_SERVER_ERROR</code>.</p>]]></content>
        <author>
            <name>Data Mart Team</name>
            <uri>https://docs.datamart.visma.com</uri>
        </author>
        <category label="API" term="API"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Data Mart ETL - 2026-04-15]]></title>
        <id>https://docs.datamart.visma.com/release-notes/2026-04-15-etl</id>
        <link href="https://docs.datamart.visma.com/release-notes/2026-04-15-etl"/>
        <updated>2026-04-15T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Bug Fixes]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes">Bug Fixes<a href="https://docs.datamart.visma.com/release-notes/2026-04-15-etl#bug-fixes" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h2>
<ul>
<li class="">Customer payments with document type <code>DRM</code> (Debit Note) are now correctly processed. Previously, these records caused a mapping error during the ETL transform step and were not synced to MongoDB.</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="operational-updates">Operational Updates<a href="https://docs.datamart.visma.com/release-notes/2026-04-15-etl#operational-updates" class="hash-link" aria-label="Direct link to Operational Updates" title="Direct link to Operational Updates" translate="no">​</a></h2>
<ul>
<li class="">All available ETL entities are now enabled in production, including Insert, Upsert, and Corrector flows for every implemented entity.</li>
</ul>]]></content>
        <author>
            <name>Data Mart Team</name>
            <uri>https://docs.datamart.visma.com</uri>
        </author>
        <category label="ETL" term="ETL"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Data Mart API - 2026-04-03]]></title>
        <id>https://docs.datamart.visma.com/release-notes/2026-04-03-api</id>
        <link href="https://docs.datamart.visma.com/release-notes/2026-04-03-api"/>
        <updated>2026-04-03T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[New Fields]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-fields">New Fields<a href="https://docs.datamart.visma.com/release-notes/2026-04-03-api#new-fields" class="hash-link" aria-label="Direct link to New Fields" title="Direct link to New Fields" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="customerdocumentline">CustomerDocumentLine<a href="https://docs.datamart.visma.com/release-notes/2026-04-03-api#customerdocumentline" class="hash-link" aria-label="Direct link to CustomerDocumentLine" title="Direct link to CustomerDocumentLine" translate="no">​</a></h3>
<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>lineType</td><td>String</td><td>The line type, letting you distinguish between different categories of customer document lines.</td></tr><tr><td>manualAmount</td><td>Decimal!</td><td>The manually entered amount override on the customer document line.</td></tr><tr><td>manualAmountInCurrency</td><td>Decimal!</td><td>The manually entered amount override expressed in the document's currency.</td></tr></tbody></table>
<!-- -->
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="generalledgerbalance">GeneralLedgerBalance<a href="https://docs.datamart.visma.com/release-notes/2026-04-03-api#generalledgerbalance" class="hash-link" aria-label="Direct link to GeneralLedgerBalance" title="Direct link to GeneralLedgerBalance" translate="no">​</a></h3>
<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>lastModifiedDateTime</td><td>DateTime!</td><td>The timestamp of when each general ledger balance was last modified.</td></tr></tbody></table>]]></content>
        <author>
            <name>Data Mart Team</name>
            <uri>https://docs.datamart.visma.com</uri>
        </author>
        <category label="API" term="API"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Data Mart ETL - 2026-04-03]]></title>
        <id>https://docs.datamart.visma.com/release-notes/2026-04-03-etl</id>
        <link href="https://docs.datamart.visma.com/release-notes/2026-04-03-etl"/>
        <updated>2026-04-03T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[New Fields]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-fields">New Fields<a href="https://docs.datamart.visma.com/release-notes/2026-04-03-etl#new-fields" class="hash-link" aria-label="Direct link to New Fields" title="Direct link to New Fields" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="customerdocumentline">CustomerDocumentLine<a href="https://docs.datamart.visma.com/release-notes/2026-04-03-etl#customerdocumentline" class="hash-link" aria-label="Direct link to CustomerDocumentLine" title="Direct link to CustomerDocumentLine" translate="no">​</a></h3>
<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>LineType</td><td>string</td><td>The line type on the customer document line, making it possible to distinguish between different line categories.</td></tr><tr><td>ManualAmount</td><td>decimal</td><td>The manually entered amount override on the customer document line.</td></tr><tr><td>ManualAmountInCurrency</td><td>decimal</td><td>The manually entered amount override expressed in the document's currency.</td></tr></tbody></table>
<!-- -->
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="generalledgerbalance">GeneralLedgerBalance<a href="https://docs.datamart.visma.com/release-notes/2026-04-03-etl#generalledgerbalance" class="hash-link" aria-label="Direct link to GeneralLedgerBalance" title="Direct link to GeneralLedgerBalance" translate="no">​</a></h3>
<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>LastModifiedDateTime</td><td>DateTime</td><td>The last modified timestamp for each general ledger balance.</td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="data-quality-improvements">Data Quality Improvements<a href="https://docs.datamart.visma.com/release-notes/2026-04-03-etl#data-quality-improvements" class="hash-link" aria-label="Direct link to Data Quality Improvements" title="Direct link to Data Quality Improvements" translate="no">​</a></h2>
<ul>
<li class="">Normal corrector runs now start from the older checkpoint inside the safety window, reducing the risk of missed updates while keeping full rescans limited to explicit override runs.</li>
</ul>]]></content>
        <author>
            <name>Data Mart Team</name>
            <uri>https://docs.datamart.visma.com</uri>
        </author>
        <category label="ETL" term="ETL"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Data Mart API - 2026-04-01]]></title>
        <id>https://docs.datamart.visma.com/release-notes/2026-04-01-api</id>
        <link href="https://docs.datamart.visma.com/release-notes/2026-04-01-api"/>
        <updated>2026-04-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[New Fields]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-fields">New Fields<a href="https://docs.datamart.visma.com/release-notes/2026-04-01-api#new-fields" class="hash-link" aria-label="Direct link to New Fields" title="Direct link to New Fields" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="experimental-gl-balance-queries">Experimental GL balance queries<a href="https://docs.datamart.visma.com/release-notes/2026-04-01-api#experimental-gl-balance-queries" class="hash-link" aria-label="Direct link to Experimental GL balance queries" title="Direct link to Experimental GL balance queries" translate="no">​</a></h3>
<p>The <code>generalLedgerBalanceExperimentalForwardPeriodsByGroup</code> and <code>generalLedgerBalanceExperimentalForwardPeriodsExpanded</code> queries now accept an optional <code>periodsUpTo</code> parameter.</p>
<table><thead><tr><th>Parameter</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>periodsUpTo</td><td>String (format: <code>yyyyMM</code>)</td><td>Upper-bound financial period for forward expansion. When omitted, the current month is used (previous default behaviour).</td></tr></tbody></table>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="breaking-changes">Breaking Changes<a href="https://docs.datamart.visma.com/release-notes/2026-04-01-api#breaking-changes" class="hash-link" aria-label="Direct link to Breaking Changes" title="Direct link to Breaking Changes" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="page-size-limit-reduced-for-experimental-gl-balance-queries">Page size limit reduced for experimental GL balance queries<a href="https://docs.datamart.visma.com/release-notes/2026-04-01-api#page-size-limit-reduced-for-experimental-gl-balance-queries" class="hash-link" aria-label="Direct link to Page size limit reduced for experimental GL balance queries" title="Direct link to Page size limit reduced for experimental GL balance queries" translate="no">​</a></h3>
<p>The maximum and default <code>pageSize</code> for both <code>generalLedgerBalanceExperimentalForwardPeriodsByGroup</code> and <code>generalLedgerBalanceExperimentalForwardPeriodsExpanded</code> has been lowered from <strong>5 000</strong> to <strong>100</strong>. Requests that previously used a <code>pageSize</code> above 100 will now receive a validation error. The error message now dynamically reports the applicable limit.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="updatedindatamart-filter-field-corrected"><code>updatedInDataMart</code> filter field corrected<a href="https://docs.datamart.visma.com/release-notes/2026-04-01-api#updatedindatamart-filter-field-corrected" class="hash-link" aria-label="Direct link to updatedindatamart-filter-field-corrected" title="Direct link to updatedindatamart-filter-field-corrected" translate="no">​</a></h3>
<p>The underlying database filter for the <code>updatedInDataMart</code> parameter on experimental GL balance queries was pointing to an incorrect field. It now correctly filters on <code>updatedInDataMartDateTime</code>. If you were relying on this filter and observed unexpected results, the behaviour is now corrected.</p>]]></content>
        <author>
            <name>Data Mart Team</name>
            <uri>https://docs.datamart.visma.com</uri>
        </author>
        <category label="API" term="API"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Data Mart ETL - 2026-04-01]]></title>
        <id>https://docs.datamart.visma.com/release-notes/2026-04-01-etl</id>
        <link href="https://docs.datamart.visma.com/release-notes/2026-04-01-etl"/>
        <updated>2026-04-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[No integrator-facing changes in this release.]]></summary>
        <content type="html"><![CDATA[<p>No integrator-facing changes in this release.</p>]]></content>
        <author>
            <name>Data Mart Team</name>
            <uri>https://docs.datamart.visma.com</uri>
        </author>
        <category label="ETL" term="ETL"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Data Mart API - 2026-03-26]]></title>
        <id>https://docs.datamart.visma.com/release-notes/2026-03-26-api</id>
        <link href="https://docs.datamart.visma.com/release-notes/2026-03-26-api"/>
        <updated>2026-03-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[New Endpoints]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-endpoints">New Endpoints<a href="https://docs.datamart.visma.com/release-notes/2026-03-26-api#new-endpoints" class="hash-link" aria-label="Direct link to New Endpoints" title="Direct link to New Endpoints" translate="no">​</a></h2>
<ul>
<li class=""><strong>generalLedgerBalancesForwardByGroup</strong> - Forward-period expansion paginated by group. Each affected (branchId, accountId, subaccountId) group is expanded with virtual monthly periods up to the current month. Use <code>lastGroupKey</code> for cursor-based pagination. Marked as <strong>EXPERIMENTAL</strong>.</li>
<li class=""><strong>generalLedgerBalancesForwardExpanded</strong> - Forward-period expansion with overflow. <code>pageSize</code> controls approximate source documents processed; response may exceed <code>pageSize</code> due to virtual period expansion. Use <code>lastGroupKey</code> for cursor-based pagination. Marked as <strong>EXPERIMENTAL</strong>.</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="improvements">Improvements<a href="https://docs.datamart.visma.com/release-notes/2026-03-26-api#improvements" class="hash-link" aria-label="Direct link to Improvements" title="Direct link to Improvements" translate="no">​</a></h2>
<ul>
<li class=""><strong>Response compression</strong> - API responses now support Brotli (Optimal) and Gzip (Fastest) compression. Clients sending <code>Accept-Encoding: br</code> or <code>Accept-Encoding: gzip</code> will receive compressed responses, including GraphQL payloads.</li>
<li class=""><strong>Request-Id header</strong> - Every response now includes a <code>Request-Id</code> header containing the OpenTelemetry trace ID, making it easier to correlate API calls with backend traces for debugging.</li>
<li class=""><strong><code>@partOfKey</code> directive introspection</strong> - The <code>@partOfKey</code> directive is now visible via GraphQL introspection, allowing clients to programmatically discover which fields form part of an entity's key.</li>
</ul>]]></content>
        <author>
            <name>Data Mart Team</name>
            <uri>https://docs.datamart.visma.com</uri>
        </author>
        <category label="API" term="API"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Data Mart ETL - 2026-03-26]]></title>
        <id>https://docs.datamart.visma.com/release-notes/2026-03-26-etl</id>
        <link href="https://docs.datamart.visma.com/release-notes/2026-03-26-etl"/>
        <updated>2026-03-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[New Fields]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-fields">New Fields<a href="https://docs.datamart.visma.com/release-notes/2026-03-26-etl#new-fields" class="hash-link" aria-label="Direct link to New Fields" title="Direct link to New Fields" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="salesorderlines">SalesOrderLines<a href="https://docs.datamart.visma.com/release-notes/2026-03-26-etl#salesorderlines" class="hash-link" aria-label="Direct link to SalesOrderLines" title="Direct link to SalesOrderLines" translate="no">​</a></h3>
<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>Note</td><td>string</td><td>The user-defined note text connected to the sales order line, sourced from the ERP <code>Note</code> table.</td></tr><tr><td>ExtPrice</td><td>decimal</td><td>The extended price in currency for the sales order line, mapped from <code>SOLine.CuryExtPrice</code>.</td></tr><tr><td>LastModifiedDateTime</td><td>DateTime</td><td>The last modified timestamp of the sales order line.</td></tr></tbody></table>
<!-- -->
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="supplierdocumentlines">SupplierDocumentLines<a href="https://docs.datamart.visma.com/release-notes/2026-03-26-etl#supplierdocumentlines" class="hash-link" aria-label="Direct link to SupplierDocumentLines" title="Direct link to SupplierDocumentLines" translate="no">​</a></h3>
<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>DeferralSchedule</td><td>string</td><td>The deferral schedule code associated with the invoice line, replacing the deprecated <code>DeferredCode</code> field.</td></tr><tr><td>TermStartDate</td><td>DateTime</td><td>The start date of the deferral term.</td></tr><tr><td>TermEndDate</td><td>DateTime</td><td>The end date of the deferral term.</td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="supplierpaymentlines">SupplierPaymentLines<a href="https://docs.datamart.visma.com/release-notes/2026-03-26-etl#supplierpaymentlines" class="hash-link" aria-label="Direct link to SupplierPaymentLines" title="Direct link to SupplierPaymentLines" translate="no">​</a></h3>
<table><thead><tr><th>Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>LastModifiedDateTime</td><td>DateTime</td><td>The last modified timestamp of the supplier payment line.</td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="renamed-fields">Renamed Fields<a href="https://docs.datamart.visma.com/release-notes/2026-03-26-etl#renamed-fields" class="hash-link" aria-label="Direct link to Renamed Fields" title="Direct link to Renamed Fields" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="salesorderlines-1">SalesOrderLines<a href="https://docs.datamart.visma.com/release-notes/2026-03-26-etl#salesorderlines-1" class="hash-link" aria-label="Direct link to SalesOrderLines" title="Direct link to SalesOrderLines" translate="no">​</a></h3>
<p>Old names remain available but are marked <code>[Obsolete]</code> and will be removed in a future release.</p>
<table><thead><tr><th>Old name</th><th>New name</th></tr></thead><tbody><tr><td>ExpireDate</td><td>ExpirationDate</td></tr><tr><td>OrderQty</td><td>Quantity</td></tr><tr><td>ShippedQty</td><td>QtyOnShipments</td></tr><tr><td>CuryUnitPrice</td><td>UnitPriceInBaseCurrency</td></tr><tr><td>TranDesc</td><td>LineDescription</td></tr><tr><td>ManualDisc</td><td>ManualDiscount</td></tr><tr><td>DiscPct</td><td>DiscountPercent</td></tr><tr><td>DiscAmt</td><td>DiscountAmount</td></tr><tr><td>CompleteQtyMin</td><td>UndershipThreshold</td></tr><tr><td>CompleteQtyMax</td><td>OvershipThreshold</td></tr><tr><td>ShipDate</td><td>ShipOn</td></tr><tr><td>RequestDate</td><td>RequestOn</td></tr><tr><td>DiscountID</td><td>DiscountCode</td></tr><tr><td>IsFree</td><td>FreeItem</td></tr><tr><td>POCreate</td><td>MarkForPO</td></tr><tr><td>NoteId</td><td>Note</td></tr></tbody></table>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="data-quality-improvements">Data Quality Improvements<a href="https://docs.datamart.visma.com/release-notes/2026-03-26-etl#data-quality-improvements" class="hash-link" aria-label="Direct link to Data Quality Improvements" title="Direct link to Data Quality Improvements" translate="no">​</a></h2>
<ul>
<li class="">Added corrector flow for all 32 ETL entities, ensuring near-real-time updates that were previously missed due to SQL Server rowversion race conditions are now automatically caught and corrected using <code>LastModifiedDateTime</code>-based lookback.</li>
<li class="">The <code>@partOfKey</code> GraphQL directive and <code>(PK)</code> markers are now present on all primary key fields across all entities, making it clear which fields uniquely identify a document.</li>
<li class="">Added <code>companyId</code> + <code>rowVersion</code> compound index to all MongoDB collections for improved query performance.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes">Bug Fixes<a href="https://docs.datamart.visma.com/release-notes/2026-03-26-etl#bug-fixes" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h2>
<ul>
<li class="">CustomerDocument no longer produces duplicate documents. <code>branchId</code> and <code>customerId</code> were incorrectly included in the primary key, causing the same document to appear multiple times. The PK is now <code>CompanyId</code> + <code>DocumentType</code> + <code>ReferenceNumber</code>.</li>
<li class="">CustomerDocumentLine and Warehouse SQL join mismatch between COUNT and UPSERT queries has been fixed, ensuring accurate row counts.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="deprecations">Deprecations<a href="https://docs.datamart.visma.com/release-notes/2026-03-26-etl#deprecations" class="hash-link" aria-label="Direct link to Deprecations" title="Direct link to Deprecations" translate="no">​</a></h2>
<ul>
<li class=""><strong>SupplierDocumentLines.DeferredCode</strong> - Deprecated in favor of <code>DeferralSchedule</code>. The <code>DeferredCode</code> field still exists and is populated, but will be removed in a future release.</li>
<li class=""><strong>SalesOrderLines</strong> - 16 fields have been renamed (see Renamed Fields above). The old field names still exist and are populated, but are marked <code>[Obsolete]</code> and will be removed in a future release.</li>
</ul>]]></content>
        <author>
            <name>Data Mart Team</name>
            <uri>https://docs.datamart.visma.com</uri>
        </author>
        <category label="ETL" term="ETL"/>
    </entry>
</feed>