E-Invoicing as a UX Challenge for Small Businesses
Native Invoicing Workflow for iOS

Creating invoices on a smartphone is rarely just data entry. In reality, it is a risk workflow: done under time pressure, between appointments, with regulatory constraints and direct impact on cash flow and trust.
Rechnungen+ was designed for exactly this reality. Not as a form app, but as a guided workflow that combines compliance, speed, and traceability.
Rechnungen+ is a mobile app (iOS/Android) that turns a fragmented invoicing process into a validated end-to-end workflow, from contacts and line items to ZUGFeRD PDF export with embedded XML.


Small teams and solo professionals work on the go, often under time pressure. At the same time, formal requirements in B2B contexts keep rising:
- 01Mandatory data has to be complete and correct
- 02Status logic must stay understandable and auditable
- 03E-invoicing formats must be exportable and compatible
In many cases, "just sending a PDF by email" is no longer enough. The central UX question became: How do we create speed without losing control, and correctness without domain jargon?
I shaped the product core from problem framing to interaction logic:
- 01Product strategy and problem framing
- 02Information architecture and end-to-end flow design
- 03UX/UI for core mobile workflows
- 04Content design and error microcopy
- 05Interaction model for status, history, and export
- 06Handover into a state-aware, validation-ready UI structure (design x logic)
Users rarely had a pure "UI problem." What they had was uncertainty:
- 01Is this invoice formally correct?
- 02Am I missing something important?
- 03Why was this document rejected?
- 04How do I get from work delivered to send-ready invoice without detours?
This led to a clear product focus: reduce uncertainty early instead of fixing errors late.
I structured the domain around three segments:
- 01Freelancers and creatives
- 02Trade-adjacent small businesses
- 03Back-office roles in small teams
Recurring patterns:
- 01Mandatory fields and status logic are unclear
- 02Master data maintenance feels like friction
- 03Format terminology creates cognitive load
- 04Trust is built through visible PDFs, not abstract data models
- 05Errors are discovered too late, when corrections are already costly


I intentionally designed Rechnungen+ as a safe workflow, not as a traditional form sequence.
Users start with the goal "create invoice," not with technical format decisions.
Complex input was split into focused subflows (details, text blocks, line items, attachments, PDF design) instead of forcing everything into one screen.
Validation happens during input, not only at export: mandatory fields, duplicates, invalid items, and status consistency.
Master data, templates, barcode scanning, and Assist reduce manual work in recurring steps.
PDF preview, history, and status timeline make changes easy to understand.
Navigation was structured as a productive workspace:
- 01Search
- 02Invoices
- 03Templates
- 04Products
- 05Contacts
- 06Assist
- 07Analytics
- 08Scanner
- 09Account
The invoicing workflow is modular and continuous:
1. Select or create recipient 2. Pull line items from products or add them manually 3. Set details (date, due date, currency, invoice number) 4. Add text blocks and attachments 5. Control status and process stage (quote, invoice, reminder, cancellation) 6. Generate, review, share, and version the PDF in history
- 01Hero + detail sheets in the editor: core status and context remain visible, while deeper input happens in focused sheets
- 02Status as active control instead of a static label (Open, Overdue, Paid, Cancelled), including timeline
- 03Templates as content defaults for intros, payment notes, and additional text
- 04PDF design as a first-class feature (layout, color system, typography, custom font, preview)
- 05Assist as embedded support: generate drafts from free text, suggest matching records, reduce uncertainty
- 06Scanner flow with quantity multiplier and direct handoff into invoice prefill state
- 07E-invoice import from XML or PDF with embedded XML for incoming documents
Core safeguards in the flow:
- 01Prevention of duplicate invoice numbers
- 02Handling of empty or invalid line items
- 03Duplicate detection for contacts and products (including barcode)
- 04Data-loss protection for unsaved changes (discard vs draft)
- 05Export checks for existence and validity before sharing
- 06History clearly separates status changes from PDF versions
Rechnungen+ delivers an end-to-end mobile workflow from data capture to export-ready e-invoice, with a clear focus on:
- 01Clarity in domain-heavy steps
- 02Safety through early validation
- 03Speed through reuse and guided flows
Senior-level impact of the project:
- 01Complexity was not "designed away," but segmented in a meaningful way
- 02Domain logic, UI states, and data model were integrated consistently
- 03Trust-critical areas (status, history, export) were designed explicitly
- 04Scope was managed deliberately: focus on EN16931/ZUGFeRD, with advanced tax cases defined as the next stage


- 01Time-to-First-Invoice
- 02Completion rate in the editor
- 03Error rate before export
- 04Successful export/share rate
- 05Support cases per 100 invoices
- 06Correction loops per invoicing process
1. Advanced tax cases (multiple tax rates, reverse charge, EU scenarios) with understandable UX abstraction 2. Visible readiness score with prioritized to-dos before export 3. Step-level in-app analytics to reduce drop-offs and error patterns 4. Guided onboarding for first-time users with domain-specific presets
With Rechnungen+, an error-prone form process became a reliable mobile workflow, ready for export in minutes.