How ashardeveloper/rechnungspilot works
RechnungsPilot DE is a login-protected invoicing workspace for German freelancers and small businesses. Users manage customer records, create and track invoices through lifecycle stages, then download issued invoices as PDF or technical XRechnung XML drafts. Invoice history, archiving, sender details, and numbering support that workflow. The graph includes documented capabilities whose source was not sampled; their exact page or module wiring is therefore left out where it cannot be verified.
Main entry points: prisma.ts Prisma client · invoice-repository.ts Invoice repository · invoice-actions.ts Invoice actions · route.ts PDF download
Components 29
Workspace UI
- Dashboard
web/src/app/page.tsx - Customer management
web/src/app/customers/customer-management-client.tsx - Customer form
web/src/app/customers/new/new-customer-client.tsx - Invoice creation
web/src/app/invoices/new/new-invoice-client.tsx - Invoice listing
web/src/app/invoices/invoice-list-client.tsx - Invoice detail
web/src/app/invoices/[invoiceId]/invoice-detail-client.tsx - Archive management
web/src/app/invoices/archived/archived-invoices-client.tsx
Server Actions
- Customer actions
web/src/app/actions/customer-actions.ts - Invoice actions
web/src/app/actions/invoice-actions.ts - Audit actions
web/src/app/actions/invoice-audit-actions.ts - Settings actions
web/src/app/actions/settings-actions.ts
Invoice Domain
- Customer records
web/src/domain/customer.ts - Invoice model
web/src/domain/invoice.ts - Invoice calculations
web/src/domain/invoice-calculations.ts - Lifecycle rules
web/src/domain/invoice-lifecycle.ts - Invoice validation
web/src/domain/invoice-validation.ts
Server Services
- Customer repository
web/src/server/customers/customer-repository.ts - Invoice repository
web/src/server/invoices/invoice-repository.ts - Audit repository
web/src/server/invoices/invoice-audit-repository.ts - Invoice numbering
web/src/server/settings/invoice-number-settings-repository.ts - Business profile
web/src/server/settings/business-profile-repository.ts - Authentication
web/src/server/auth/current-user.ts - PDF download
web/src/app/invoices/[invoiceId]/pdf/route.ts - PDF rendering
web/src/server/pdf/invoice-pdf.ts - XRechnung download
web/src/app/invoices/[invoiceId]/xrechnung/route.ts - XML rendering
web/src/server/xrechnung/xrechnung-xml.ts
Persistence
- Prisma client
web/src/server/db/prisma.ts - PostgreSQL
Other components
- Business user
Connections 36
- Business user → Dashboard: opens workspace
- Business user → Customer management: manages customers
- Business user → Customer form: enters details
- Business user → Invoice creation: creates invoice
- Business user → Invoice listing: reviews invoices
- Business user → Invoice detail: updates invoice
- Business user → Archive management: restores invoice
- Customer management → Customer actions: searches
- Customer form → Customer actions: submits details
- Customer actions → Customer repository: reads and writes
- Customer repository → Prisma client: queries
- Customer repository → Customer records: maps records
- Invoice creation → Invoice actions: submits invoice
- Invoice listing → Invoice actions: searches and resets
- Invoice detail → Invoice actions: updates and archives
- Archive management → Invoice actions: restores invoice
- Invoice detail → Lifecycle rules: checks transitions
- Invoice actions → Invoice repository: reads and writes
- Invoice repository → Prisma client: queries
- Invoice repository → Invoice model: maps records
- Invoice detail → Audit actions: loads history
- Audit actions → Audit repository: reads events
- Audit repository → Prisma client: queries
- Settings actions → Invoice numbering: manages numbering
- Settings actions → Business profile: manages profile
- Invoice numbering → Prisma client: reads and updates
- Business profile → Prisma client: reads and updates
- PDF download → Authentication: gets user
- PDF download → Invoice repository: loads invoices
- PDF download → PDF rendering: renders PDF
- PDF download → Audit repository: records download
- XRechnung download → Authentication: gets user
- XRechnung download → Invoice repository: loads invoices
- XRechnung download → XML rendering: renders XML
- XRechnung download → Audit repository: records download
- Prisma client → PostgreSQL: persists data