All docs

Invoicing

Invoice lifecycle

Understanding invoice statuses, transitions, and when you can edit, void, or delete an invoice.

3 min read

Every invoice in Financica moves through a series of statuses that reflect where it is in the bookkeeping process. This page explains the full lifecycle for both expense (inbound) and revenue (outbound) invoices.

Workflow statuses

StatusMeaning
DraftInvoice created but not yet finalized. Fully editable.
ReceivedInbound invoice received from a supplier. Ready for review and posting.
SentOutbound invoice sent to the customer (via email or Peppol).
ApprovedInvoice synced from an external source (e.g. Stripe) in its finalized state.
PostedJournal entries have been created in the ledger. The invoice now affects your financial reports.
VoidedInvoice has been invalidated. Journal entries are reversed.

Payment statuses

Independently of the workflow status, every invoice tracks its payment status:

  • Unpaid -- No payment has been applied.
  • Partially paid -- Some payment has been applied but a balance remains.
  • Paid -- The full amount has been received or paid.
  • No charge -- The invoice total is zero, so no payment is needed.

Typical lifecycle

Expense invoices (inbound)

  1. Upload or receive an invoice. It starts as Received.
  2. Review the extracted data and correct any errors.
  3. Post the invoice to create journal entries in your books.
  4. Link a bank transaction as payment. The payment status updates to Paid.

Revenue invoices (outbound)

  1. Create or upload an invoice. It starts as Draft.
  2. Edit line items, set dates and customer details.
  3. Send the invoice to the customer via email or Peppol. Status becomes Sent and the invoice becomes read-only.
  4. Post the invoice when ready to record it in your books.
  5. When the customer pays, link the bank transaction. The payment status updates to Paid.

For invoices synced from Stripe, the status is set automatically based on the Stripe invoice state.

When can you edit an invoice?

  • Expense invoices -- Editable until posted. After posting, remove the approval first to unlock editing.
  • Revenue invoices -- Editable until sent. Once sent (or posted), the invoice is locked. You cannot unsend a sent invoice.
  • Stripe revenue invoices -- Only editable while in Draft status in Stripe.

Posting and removing approval

Posting (also called approving for expenses) creates journal entries that record the invoice in your ledger. This is what makes the invoice appear in your financial reports.

Removing approval reverses the journal entries and returns the invoice to its pre-posted state. If a bank transaction had been consolidated with the invoice, the consolidation is also reversed. See Invoice posting and reconciliation for details.

Voiding an invoice

Voiding marks an invoice as invalid without deleting it. This is the preferred approach when you need to keep a record of the invoice for audit purposes.

When you void an invoice:

  • The workflow status changes to Voided.
  • If the invoice was posted, the journal entries are reversed.
  • If a payment was consolidated, the consolidation is undone.
  • The invoice becomes read-only with a Voided badge.

You can unvoid an invoice to return it to the Received status for reprocessing.

Deleting an invoice

Deleting permanently removes the invoice and all its associated data (documents, journal entries, payment links). Use this when the invoice was created in error and you do not need to keep a record.

When you delete an invoice:

  • The invoice and its documents are removed.
  • Any posted journal entries are reversed first.
  • Any payment consolidation is undone.

Stripe revenue invoices can only be deleted while in Draft status.

Zero-total invoices

Invoices with a total of zero are automatically marked as Paid with a No charge badge. No payment linking is needed. This commonly happens with fully discounted invoices or invoices that net to zero after credits.