May 28 – 4.37.15 Estimated reading: 2 minutes Here’s what’s new in this release: We’ve improved the mapping workflow, allowing separate sales accounts per project line item, and added invoice dates to income tracking. Additionally, we’ve addressed several bugs and made minor UX improvements. Accounting Accounting category income validator The income mapper now validates that all selected articles have a sales account configured before allowing submission. Allow separate sales accounts per project line item Project articles now have a dedicated salesAccountId field, separate from the existing cost accountId. When generating Xero invoices, the system uses the sales account code for income line items, falling back to the cost account if no sales account is explicitly set. Approval workflows Complete approval trail on cost documents when admin overrides review Skipped review steps are now recorded as notes on the document at the time of the admin override, with a clear label indicating the step was bypassed due to an admin override. General Improvements Fix security limitations to allow marketing tracking and support chats Several third-party tracking/analytics scripts were blocked by the Content Security Policy, this has been fixed. Replace currency conversion rate provider Currency rates are now fetched from Frankfurter API, as the previous provider no longer exists. Invoicing Add invoiceDate to Income Added a dedicated Invoice Date field to incomes, which can be set when creating or updating an income. Expose invoice date in income list, summary view and xlsx exports Invoice date is now surfaced across the existing income views, including summary view, income list, budget article details, portfolio income view, and exports. Portfolio dashboards Respect per-project cashflow opt-out in company cashflow report The company cashflow report and its Excel export now respect the per-project cashflow setting. Projects with cashflow disabled are filtered out from the company view. Work orders Fix race condition in bulk time sheet approval Time sheet approval now uses a single atomic operation that confirms all selected time sheets together in one database transaction. Minor work order improvements Improve labels (work order cost type, priced task quantity column header) Prefill priced task quantity from budget numbers Workflow Improve mapper usability with auto-select and contextual type hiding When a selection field has exactly one valid option available, it is now automatically selected. Also, when navigating to the company-level mapper from certain views, the document type selector is no longer shown.