Q4 / 2025
This quarter focused on platform security, e-invoicing compliance, and payment gateway reliability. We updated ZugFerd/X-Rechnung support for German e-invoicing, and expanded multi-tenant flexibility for enterprise merchants. Als we added a possibility to enhance the precision of decimals and their handling in our billing engine. Alongside these themes, we shipped reporting enhancements, continued Apple StoreKit v2 refinements, and a broad set of payment integration fixes across Mollie, Unzer, PayPal, Riverty, and Amazon Pay.
✨ New Features
ZugFerd and E-Invoicing Update
Transform’s ZugFerd and X-Rechnung support has been updated to align with current e-invoicing requirements. Merchants sending structured invoices and credit notes benefit from improved XML output and better compatibility with common German accounting tools. This work also addresses validation issues reported for X-Rechnung credit notes.
Shared External IDs Across Tenant Hierarchies
Merchants with multi-tenant setups can now use the same product, plan, and component external IDs across tenants within a tenant hierarchy. Previously, external IDs had to be globally unique across the hierarchy, which made it difficult to mirror identical catalog setups in sibling tenants. Shared component external IDs are supported as well, giving enterprise customers more flexibility when operating complex tenant structures.
Intercom Support Chat With Secure Identity Verification The in-app Intercom support chat now uses server-side JWT identity verification instead of passing user details directly in the client snippet. User identity is hashed and signed on the server, improving security for merchants and their end users while keeping the support experience unchanged.
Enhanced Billing Precision Control
We've introduced a new configuration option that allows you to customize the number of decimal places used when calculating daily billing amounts. This feature provides greater flexibility in how billing precision is handled, particularly for contracts that require daily proration of charges. The new setting can be configured in the billing settings and ensures that billing calculations can be tailored to meet specific accounting requirements and regional standards. With this update, you can maintain the exact level of precision required by your business needs, improving accuracy and compliance with your financial processes.
🚀 Improvements
- Tightened rate limiting on sensitive forms to reduce abuse and denial-of-service risk
- Added on-access virus scanning for uploaded files
- Enabled HTTP Strict Transport Security (HSTS) response headers
- Enforced Content-Security-Policy after analyzing violation reports (replacing report-only mode)
- Added
expires_into OAuth token responses - Apple StoreKit v2: support for ProductionAndSandbox mode (transactions validated against both Apple environments)
- Apple StoreKit v2: clearer error mapping from Apple status codes to platform exceptions
- Added Component Subscription ID column to the Line Items report
- Added LineItem.PricePerUnit to DATEV posting extra fields
- PayPal v2: PayPal Transaction ID now included in the Transaction report
- Updated PayPal Redirect flow documentation and merchant communication
- Improved Azure SSO login error handling
- Mollie: automatic retry when payment requests return a 500 error
- Increased maximum attachment upload size
- Restored original ExternalId key behavior for components
- Improved webhook notification severity handling for Riverty
- CAMT import: improved duplicate-entry detection so valid entries are no longer skipped
- Improved aggregate accounting report reliability when data is missing
- Self-service sign-up page now displays the quantity of billing periods correctly
- Configurable decimal-place precision for daily billing rounding (enterprise use cases)
🐛 Bug Fixes
- Fixed ZugFerd credit note XML output showing encoded characters instead of German umlauts (ü, ö, ä)
- Fixed ZugFerd invoice prologue and epilogue outputting HTML instead of plain text
- Fixed X-Rechnung credit note validation errors reported by accounting software
- Fixed Mollie credit card pre-authorisation failing when amount is 0 EUR
- Fixed Mollie pre-authorisation returning 500 when customer creation fails
- Fixed Mollie pre-authorisation null reference error
- Fixed Unzer v2: direct debit payment method could not be added when creating a new contract
- Fixed Unzer v2: non-unique payment identifiers on webhooks
- Fixed Unzer error handling edge cases
- Fixed PayPal v2 merchant test stability issues
- Fixed Amazon Pay notification handling errors for cancelled payments
- Fixed parallel webhook processing on the payment gateway that could cause data corruption
- Fixed payment export job failing when the account holder field was empty
- Fixed TWINT transactions being confirmed too early, resulting in duplicate postings
- Fixed contract pause and resume API calls missing response payloads
- Fixed wrong price list shown in order details
- Fixed 500 Internal Server Error on attachment replace action
- Fixed CAMT file name not visible in the UI after import
- Fixed double unassignment caused by slow network connections
- Fixed Swan onboarding API integration after upstream GraphQL schema changes
- Fixed webhook endpoint timeouts for external integration callbacks
- Fixed failed aggregate accounting report under certain data conditions
