- Implement tests for client validation functions including tax ID, VAT ID, IBAN, BIC, website, and company form validation.
- Create tests for revenue and expense categories ensuring all expected categories and labels are present.
- Add tests for invoice number generation with various scenarios including prefix handling and sequence padding.
- Introduce tests for default categories and their integration, ensuring no overlaps and consistent naming conventions.
- Implement Zod schema validation tests for currency, tax rates, IBAN, tax ID, VAT ID, invoices, companies, and customers.
- Add utility tests for tax calculations, including item amounts and invoice totals, ensuring correct handling of tax rates and formatting.
- Set up Vitest configuration and global test setup for consistent testing environment.
- Implemented client-side validation functions for tax ID, VAT ID, IBAN, BIC, and website URL.
- Added debug logging functionality to assist in development.
- Created a comprehensive validation function for company form data.
feat: initialize database with Prisma migrations
- Added a server-side script to run Prisma migrations and check database health.
- Ensured safe initialization of the database to prevent concurrent migrations.
feat: comprehensive server-side error logging
- Developed an error logging system that captures detailed error context, including request details and stack traces.
- Implemented logging functions for different error types (route, action, database, API, startup).
fix: validate user ID existence in audit logs
- Updated the logging function to validate that the user ID exists in the database before logging actions.
fix: update schemas for optional fields and validation
- Modified schemas to allow for nullable fields and refined validation logic for tax ID, VAT ID, IBAN, and BIC.
feat: enhance error boundary for better debugging
- Improved error boundary to log detailed error information in development mode.
- Added a debug panel to the main application layout for real-time error tracking.
feat: implement company deletion functionality in admin routes
- Added a new API route for deleting companies with appropriate logging.
- Integrated delete confirmation in the admin interface for better user experience.
fix: handle API errors gracefully
- Wrapped API actions in try-catch blocks to log errors and return appropriate responses.
feat: generate and save invoice PDFs
- Implemented functionality to generate and save invoice PDFs upon status updates.
- Added a new column in the database for storing the URL of the generated PDF.
chore: update Docker image reference
- Changed the Docker image reference to point to the new Git repository.
chore: update package dependencies
- Added @radix-ui/react-tooltip for enhanced UI components.
- Updated package-lock.json to reflect new dependencies.
Full-stack German accounting & invoice management web application:
- Multi-company management (Mandantenverwaltung) with full CRUD
- Invoice creation with dynamic line items and automatic tax calculation
- Sequential invoice numbering per company (RE-2024-001 format)
- §14 UStG compliant PDF invoice generation via @react-pdf/renderer
- Customer management (Kundenverwaltung) per company
- Tax reports: quarterly USt-Voranmeldung and monthly revenue overview
- Email/password authentication via NextAuth.js v5
- Responsive, modern UI with Tailwind CSS and custom shadcn/ui components
- Prisma v5 ORM with MySQL/MariaDB schema + demo seed data
Stack: Next.js 14 (App Router) · TypeScript · Prisma/MySQL · NextAuth.js
https://claude.ai/code/session_01FN53KKxo5ebrGwqFhxzkT9