Invoicing
Invoice posting and reconciliation
How invoice approval creates journal entries, how they consolidate with bank transactions, and what to do when something goes wrong.
When you approve an invoice in Financica, the system creates a journal entry -- a transaction that records the invoice in your books. This page explains how that process works, how journal entries interact with bank transactions, and how to handle edge cases like currency mismatches.
Approving an invoice
Approving an expense (or posting a revenue invoice) creates a new transaction with legs derived from the invoice content:
- A control leg on the Accounts Payable or Accounts Receivable account, representing the obligation to pay or be paid.
- One or more category legs on expense or income accounts, one per line item.
- If the invoice has VAT, additional legs for the relevant VAT accounts (input VAT, reverse charge, etc.).
All legs are created in the invoice's currency. The amounts come from the invoice line items and totals, so the journal entry is a faithful accounting representation of what the invoice says.
This transaction is called the posted transaction and is linked to the invoice via the "posted transaction" field.
Linking a bank transaction as payment
Separately from approval, you can link a bank transaction to an invoice as a payment. This records that money actually moved to settle the invoice.
When you link a payment, Financica:
- Reclassifies the bank transaction's category leg to point at the Accounts Payable (or Receivable) account, locking it as an invoice payment.
- If only part of the transaction covers this invoice, splits the leg so the remainder stays editable.
- Creates a payment application record that tracks the amount applied.
At this point you have two transactions in your books: the journal entry from approval and the bank transaction from the payment link. Both are correct and your books balance, but ideally they would be one transaction.
Transaction consolidation
When both conditions are met -- the invoice is approved (has a journal entry) and a bank transaction is linked as payment -- Financica attempts to consolidate them into a single transaction.
Consolidation takes the bank transaction's legs (the bank movement, fees, exchange legs) and the journal entry's legs (the invoice breakdown into expense/income accounts and VAT) and combines them into one transaction. The original journal entry is marked as replaced.
This produces the cleanest result: one transaction in your books that shows both where the money came from (the bank account) and where it went (the expense/income accounts from the invoice).
When consolidation succeeds
Consolidation works when the legs from both transactions can be combined into a balanced set. The typical case is:
- A bank transaction with a bank leg and a category leg in the same currency as the invoice.
- An invoice journal entry with a control leg and category legs, also in the invoice currency.
The consolidated transaction replaces the category leg from the bank import with the detailed breakdown from the invoice.
When consolidation does not happen
Consolidation is skipped (and both transactions remain separate) when:
- Currency mismatch: The bank account currency differs from the invoice currency. For example, paying a USD invoice from a EUR bank account. The bank transaction has EUR legs with exchange legs to convert to USD, but the journal entry has USD legs. Financica cannot combine these into a single balanced set because the invoice content legs (USD) do not match the bank leg currency (EUR).
- Partial payments: Only part of the bank transaction covers the invoice.
- Complex leg structures: The bank transaction has too many legs or currencies to consolidate cleanly.
- Already consolidated: The journal entry was already merged with a different payment.
When consolidation is skipped, both transactions remain visible in your transactions list. This is normal and your books are still correct. The two transactions together represent the full picture: the journal entry records the invoice content and the bank transaction records the actual payment.
Multi-currency payments
When you pay an invoice in one currency from a bank account in another currency (for example, paying a USD invoice from a EUR bank account via Wise), the bank transaction typically has:
- A bank leg in the bank currency (EUR).
- Exchange legs converting between currencies.
- A fee leg for any transfer fees.
- A category/payable leg in the invoice currency (USD).
The journal entry, created during approval, has legs entirely in the invoice currency (USD).
Because the invoice content legs (USD) cannot be substituted into a transaction whose bank leg is in EUR without breaking the per-currency balance, consolidation is skipped. You will see two separate transactions, which is the correct accounting treatment for a cross-currency payment.
Removing approval
If the journal entry was created incorrectly -- for example, with the wrong currency, the wrong accounts, or stale data -- you can remove the approval to delete the journal entry and start fresh.
From the expense detail page, open the ... menu and select Remove approval. This:
- Deletes the journal entry transaction.
- Returns the expense to "Needs review" status.
- If the journal entry had been consolidated with a bank transaction, reverses the consolidation first, restoring the bank transaction to its original state.
After removing approval, you can correct the invoice details and re-approve to generate a fresh journal entry. Any existing payment links to bank transactions are preserved -- only the journal entry is affected.
When to use Remove approval vs. Void
- Remove approval deletes the journal entry and lets you re-approve. Use this when the posting was wrong and you want to fix it.
- Void marks the entire invoice as void and removes the journal entry. Use this when the invoice itself should not exist in your books (e.g., it was a duplicate or was cancelled by the supplier).
Unlinking a payment
Unlinking a bank transaction from an invoice reverses the payment link:
- The payment application record is deleted.
- Any leg reclassification or splits are reversed, restoring the bank transaction's original legs.
- If the journal entry had been consolidated into the bank transaction, the consolidation is reversed: the bank transaction gets its original legs back and the journal entry is restored as a separate transaction.
The invoice returns to unpaid (or partially paid if other payments remain). You can then re-link a different transaction or the same one.
Troubleshooting
The bank transaction and journal entry were not consolidated
This is expected when the bank and invoice currencies differ, or when the payment is partial. Both transactions are valid and your books balance correctly. No action is needed.
If you expected consolidation to happen for a same-currency payment and it did not, check whether the bank transaction has an unusual leg structure (extra fees, multiple splits) that made the consolidation ambiguous.
The journal entry has the wrong currency or accounts
Use Remove approval from the expense menu to delete the journal entry, then correct the invoice details (currency, line items, accounts) and re-approve.
A linked payment was not consolidated after re-approval
Linking a payment and approving an invoice are independent actions. If you remove approval and re-approve, the system will attempt consolidation with any already-linked payment during the next payment application. If you have already linked the payment before re-approving, unlink and re-link the payment to trigger a fresh consolidation attempt.