Release Notes — February 28, 2026
This release delivers five major features: German (DE) UI localization, CEE currency support (PLN, RON, CZK), Pennylane invoice integration for the French market, Holded invoice integration for the Spanish market, and SmartBill invoice integration for the Romanian market.
German (DE) Localization
New Feature
CADENSA is now fully available in German (Deutsch), covering the DACH market (Germany, Austria, Switzerland — ~100M+ potential users).
What's new:
- Full German UI translation across all 23 namespaces (frontend)
- Mobile app translated to German (
de/translation.json) - German registered in
i18n.tswith automatic device locale detection DD.MM.YYYYdate format andEurope/Berlintimezone defaults for DE locale- German language option in Settings → Localization → Language dropdown
dayjsGerman locale applied in: Time Tracking, Audit Log, Task Analytics, Report Builder, Create/Edit Time Entry dialogs, Generate Invoice dialog, Advanced Time Entry form
How to activate:
- Go to Settings → Localization
- Select Deutsch from the Language dropdown
- The interface reloads in German
French (FR) & Spanish (ES) Localization
New Feature (Finalized)
French and Spanish localization, first shipped on 2026-02-27, is now fully finalized across all layers.
Coverage:
- Backend:
fr/email.json+es/email.json(472 lines of email templates) - Frontend: 24 locale JSON files each (FR + ES)
- Mobile app:
fr/translation.json+es/translation.json - Locale-aware date formatting, currency formatting (
Intl.NumberFormat), anddayjslocale - Language selector in Settings → Localization for both FR and ES
CEE Currency Support (PLN, RON, CZK)
New Feature
Three new currencies added, enabling billing for the Central & Eastern European market:
| Currency | Country | Symbol |
|---|---|---|
| PLN | Poland | zł |
| RON | Romania | lei |
| CZK | Czech Republic / Slovakia | Kč |
Where it appears:
- Rate configuration (Settings → Rates)
- Invoice generation dialog (currency selector)
- Budget progress display
- All billing reports and exports
- All locale files updated (EN, HU, DE, FR, ES)
Full stack coverage:
Rate.model.ts,TimeEntry.model.ts— currency enum extendedrate.service.ts—getCurrencySymbol()returns correct symbol (zł / lei / Kč)formatters.ts,RateForm.tsx,RateDisplay.tsx,BudgetProgress.tsx,GenerateInvoiceDialog.tsx— all updated
Pennylane Integration (France — Factur-X)
New Feature
Pennylane is now available as an invoice provider, targeting the French market and Factur-X (PDF/A-3 + embedded XML) e-invoicing standard.
Factur-X e-invoicing becomes mandatory in France from September 2026 for large companies, with a phased rollout to all businesses by 2027.
What's supported:
- Create legally valid French invoices via the Pennylane API
- Automatic customer find-or-create (by name match)
- French VAT rate codes:
FR_200(20%),FR_100(10%),FR_055(5.5%),exempt(0%) - PDF download directly from Pennylane
- Draft mode support (invoices created as draft — finalized on demand)
- Supported markets: France 🇫🇷, Belgium 🇧🇪, Luxembourg 🇱🇺, Switzerland 🇨🇭
Integration model:
- API token-based — you supply your own Pennylane Bearer token
- No OAuth required; no Pennylane app registration needed
How to set up:
- Go to Settings → Invoice
- Select Pennylane 🇫🇷 as the provider
- Paste your Pennylane API token into the API Key field
- Click Test Connection — confirms your token is valid
- Set Default Tax Rate to
20(standard French VAT) - Click Save
📖 See the full setup guide: Pennylane Setup
Holded Integration (Spain — FacturaE)
New Feature
Holded is now available as an invoice provider, targeting the Spanish market (ES) and the FacturaE e-invoicing standard. Also supports Portugal, Italy, France, and Germany.
FacturaE e-invoicing is already mandatory for public sector invoices in Spain, and increasingly required in B2B transactions. Holded ensures your invoices are compliant.
What's supported:
- Create legally valid Spanish invoices via the Holded API
- Automatic contact find-or-create (by NIF/CIF VAT number, then by name)
- Spanish IVA rate mapping:
IVA 21%/IVA 10%/IVA 4%/Exento - PDF download directly from Holded
- Partner picker — searchable dropdown of your Holded contacts in the Generate Invoice dialog; selecting a partner auto-fills all client fields
- Country display — partner country shown as the original Holded name (e.g. "Spain", "Hungary"); ISO code used internally for VAT logic
- Invoice voiding/cancellation via API (
POST /documents/invoice/{id}/void) - Supported markets: Spain 🇪🇸, Portugal 🇵🇹, Italy 🇮🇹, France 🇫🇷, Germany 🇩🇪
Integration model:
- API key-based — you supply your own Holded API key (
key: <apiKey>header) - No OAuth required; generate key in Holded Settings → Integrations → API
How to set up:
- Go to Settings → Invoice
- Select Holded 🇪🇸 as the provider
- Paste your Holded API key into the API Key field
- Click Test Connection — confirms your key is valid
- Set Default Tax Rate to
21(standard Spanish IVA) - Click Save
📖 See the full setup guide: Holded Setup
SmartBill Integration (Romania — e-Factura)
New Feature
SmartBill is now available as an invoice provider, targeting the Romanian market (RO) with full e-Factura / ANAF compliance.
Romania mandates e-Factura reporting to ANAF for B2B transactions. SmartBill automatically handles ANAF submission when configured in your SmartBill Cloud account.
What's supported:
- Create legally valid Romanian invoices (facturi fiscale) via the SmartBill API
- Romanian TVA rate mapping:
Normala19% /Redusa9% /Redusa15% /Scutit0% - PDF download directly from SmartBill
- Partner picker — searchable dropdown of your SmartBill clients in the Generate Invoice dialog; selecting a client auto-fills all fields including CIF/VAT number
- Invoice cancellation (anulare) via API (
PUT /invoice/cancel) - Series validation — invoice series must be pre-configured in SmartBill Cloud
- Supports both TVA-payer and non-TVA-payer companies
Integration model:
- Basic Auth — email + API token combination
- Credentials:
apiKey(API token) +apiSecret(account email) +companyId(company CIF) - Generate API token in SmartBill Cloud → Contul Meu → Integrări → API
How to set up:
- Go to Settings → Invoice
- Select SmartBill 🇷🇴 as the provider
- Fill in API Key (token), Account Email (apiSecret), and Company ID (CIF)
- Click Test Connection — confirms credentials and CIF are valid
- Set Default Tax Rate to
19(cota normală TVA) - Click Save
📖 See the full setup guide: SmartBill Setup
Documentation
- Added Pennylane Setup Guide
- Added Holded Setup Guide
- Added SmartBill Setup Guide
- Updated Invoice Provider Settings — Pennylane, Holded, and SmartBill moved from "Coming soon" to active
- Updated Localization Settings — DE, FR, ES added to available languages
- Updated
CADENSA_POZICIONALAS.md— DE lokalizáció, CEE valuták, Pennylane, HoldedKÉSZ