The traditional way
Without invc.me
- Design and migrate payment method data model with account foreign key
- Create payment method model logic
- Install Stripe SDK and implement alignment callbacks in payment method model
- Develop and expose payment method API to front-end
- Design payment method front-end with Stripe.js to add, modify or delete methods, ensuring the same method isn’t added twice
- Update account data model to include Stripe customer ID
- Implement callbacks in the account model to align with Stripe
- Design and migrate invoice data model with account foreign key
- Create invoice model logic
- Add invoice foreign key to payment method
- Design line-item data model with invoice foreign key
- Install markup-to-PDF program either in monolith or as microservice
- Design template invoice with repeatable line-items
- Implement PDF generation call to markup-to-PDF program from given invoice
- Design and migrate payment data model with foreign keys to invoice and payment method
- Create payment model logic
- Develop integration with Stripe payment intents for calling
- Implement trigger for invoice issuance, which will trigger an attached payment creation locally and Stripe payment intent, which will need to be checked
- Design and build an invoice view component for the front-end
- Expose an invoice-to-PDF endpoint
- Design, develop and create an employee view component to see and review transactions, invoices and customers