Group
  • Payments

    Implement invoice generation and access

    Gives customers proper invoices with sequential numbering, tax details, and self-service download access.

    • Automate workflows
    • Improve quality
    • Intermediate
    • General

Free Prompt

Audit how customers get invoices from my app. For anything with a business customer, invoices (not just receipts) are a requirement: they need them for accounting and tax. Implement: use the provider's invoicing where it exists (Stripe generates proper invoices with hosted PDFs; wiring those beats generating my own), or generate my own with the required contents: a unique sequential invoice number (tax authorities in many jurisdictions require gapless sequences), my business details (name, address, tax ID), the customer's details, line items, amounts, currency, tax shown separately, and the date; store invoices durably (regenerating historical invoices from mutable records breaks when prices change; the invoice is a snapshot); give customers self-service access (a billing page listing every invoice with downloads, gated by ownership checks); and handle credit notes for refunds where jurisdictions require them (the refund of an invoice gets its own document, not a deleted invoice). Don't expose invoice downloads without authorization; invoices contain names, addresses, and purchase history. Don't reuse or reuse-then-skip invoice numbers. Deliver: the invoice mechanism with numbering, the storage, the customer billing page with its authorization, and verification: make two purchases and a refund in test mode, confirm sequential numbers, correct contents, self-service access for the owner, and refusal for anyone else.

What This Does / How This Helps

Gives customers real invoices: sequential numbers, tax details, durable snapshots, and self-service downloads from their billing page. Business customers can't expense a payment without an invoice, which makes 'where's my invoice' a guaranteed support ticket for any B2B-ish product, answered by hand, every month, per customer. Self-service invoices delete that ticket category entirely. The snapshot rule is the subtle one: invoices must be immutable records of what was charged, because regenerating them from live data produces invoices that change when your prices do, which is exactly what auditors and tax authorities don't allow.

Want to skip doing this by hand?

Fortivibe audits your app for all of the areas these prompts cover (and more).

See What We Check

Related Prompts