E-invoicing and structured addresses

Changelog
22 Nov 2025

Highlights

  • Added support for EU e-invoicing formats:
    • Profiles: EN16931, Extended, and X-Rechnung 3.0 (CII + UBL)
    • Hybrid PDF/A: Zugferd / Factur-X with all above profiles
  • Changed customer address to use structured fields (action may be required, see below)

Improvements

  • Updated invoice rounding to avoid decimal rounding issues
  • Added invoice grouping by project and activity
  • Added timesheet ID column for export templates
  • Allow new absence requests for a previously rejected day
  • Planned / future time-offs now count toward the overtime account for correct balances
  • Rejected absence entries are no longer counted in any absence-type statistics
  • Improved API documentation for the customer / project / activity BODY (missing fields added)
  • Disabled autocomplete on the duration input field to avoid invalid clicks in Firefox
  • Renamed cookies to KIMAI_REMEMBER and KIMAI_SESSION to prevent collisions when using custom domains

Changes that may require your attention

We aim to minimize breaking changes, but some updates might require adjustments on your side to support new features and long-term stability.

  • The customer address was previously stored in a single text field. Due to requirements for e-invoicing, the address must now be split into separate fields: address line 1/2/3, city, postcode and country. These fields have been added to the customer entity. Please update the customer records you actively maintain and adjust your API integrations to use the new fields. The old combined address field will be removed in a future release.
  • Invoice templates must now be linked to a customer. The linked customer’s data is used to populate the sender details (name, address, and tax number). The previously configurable fields (address, company name, VAT ID) are no longer editable in the UI and serve only as a fallback until a customer account is linked.
  • Paginated API calls are now limited to a maximum of 500 items per page. Currently, this affects only the timesheet endpoint.
Share this post:
Top