All docs

Data Sources

Connecting Stripe

Import Stripe payouts, charges, refunds, and fees automatically, and invoice your customers through Stripe.

7 min read

Connecting Stripe allows Financica to:

  • Import balance transactions — Every payout, charge, refund, and fee is imported as a transaction.
  • Track fees — Stripe processing fees are recorded separately so you can see your actual revenue.
  • Receive webhooks — Real-time updates when new transactions occur.

Connecting Stripe

  1. Go to Data Sources > Other sources.
  2. Find Stripe and click Connect.
  3. Authorize Financica to access your Stripe account.
  4. Transactions will begin syncing automatically.

Stripe and revenue

Stripe invoices are imported as revenue invoices, and their payments are matched to them from the ledger side. Your books, not Stripe, decide whether an invoice is paid: an invoice is settled when a payment transaction is linked to it, and never because Stripe says so.

Payments collected by Stripe

When a customer pays through Stripe (card, SEPA, PayPal, etc.), the money shows up in your Stripe balance and reaches your bank with the next payout. Financica imports that payout, and the charge inside it is linked to the invoice automatically. Until the payout is imported, the invoice shows a notice on its page: Stripe collected this invoice's payment, but it is not linked here yet. Nothing to do; it clears on its own once the payout sync runs.

Invoices marked as paid outside Stripe

Stripe's Mark as paid action is for invoices the customer settled another way: a bank transfer, cash, a cheque. Stripe records that the invoice is paid, but it never saw the money, so there is nothing for it to pay out.

Financica does not book anything for that mark. The invoice stays unpaid in your books and shows a warning: Stripe has this invoice marked as paid outside Stripe, but no payment is recorded here. The money is usually already in your books as an imported bank line, so settle the invoice the way you would any other:

  • Link the bank transaction from the invoice's Linked transactions section. The suggestions match on amount, date and reference, so the transfer is normally the first candidate.
  • Record a payment manually if the money went somewhere you do not import, for example cash or a customer's credit on file.
  • Write off the difference if a small residual remains after linking.

The warning disappears once the invoice is paid. The same warning also appears when an invoice was paid in Stripe by a means that has no charge behind it, for example a payment record you added by hand.

Invoices paid in Financica but open in Stripe

The opposite happens too: a customer pays you by bank transfer, you link that transaction in Financica, and Stripe still considers the invoice open and keeps sending reminders. The invoice page then shows a banner offering Mark as paid in Stripe, which marks the Stripe invoice as paid outside Stripe. Nothing changes in your books; it only stops Stripe from chasing the customer.

Invoicing from Stripe

Stripe can be the backend for the invoices you send, with Financica as the place you write them. Every draft you create this way is a real Stripe invoice: Stripe numbers it, hosts the payment page, emails the customer and chases reminders, and Financica keeps the accounting copy in sync. Any Stripe invoice created from the Stripe dashboard is imported the same way.

On Accounting > Revenue > Create invoice, pick the Stripe invoice tab. It is selected by default once a Stripe account is connected. Everything you enter is saved as a draft on Stripe, and nothing reaches the customer until you send it.

Choosing or creating the customer

The customer is a Stripe customer, picked from the connected account. When the one you need does not exist yet, type the name and choose Create on Stripe: the customer is created on Stripe from the small form, with the name, email, phone, address and VAT number you enter. Entering a VAT number fills in the company details from the registry where one is available. The customer's currency follows the country you pick, so the invoice switches to it, and Stripe locks that currency in once the first invoice is finalized. No customer record is created in Financica at this point; the counterparty is recorded when the draft is saved.

What lands on the Stripe invoice

The draft mirrors what you entered, using Stripe's own concepts so the hosted invoice and its PDF show the same figures:

  • Line items, quantities and unit prices.
  • VAT rates become Stripe tax rates. A matching rate on your Stripe account is reused; otherwise one is created for your country.
  • Line discounts become one-off Stripe coupons on the line.
  • PO number is added as a Stripe custom field named PO number, since Stripe has no field of its own for it. A PO number entered on Stripe in that custom field is read back into Financica when the invoice is first imported.
  • Payment terms print in the footer of the Stripe invoice, and the memo becomes the invoice description. Importing a Stripe invoice reads them back the same way: the footer as payment terms, the memo as the description.
  • Payment due: a preset number of days (counted by Stripe from the moment the invoice is sent) or a specific date.
  • Your VAT number is attached as the seller tax ID, so it prints on the invoice even when the Stripe invoice template does not add it by default.
  • Attachments you add stay in Financica, on the invoice's page; they are never sent to Stripe.

Financica's own invoice numbering does not apply: Stripe assigns the number when the invoice is finalized. Until then the draft shows Stripe's provisional number.

Because the draft is owned by Stripe, opening it in Financica refreshes it from Stripe first, and edits you make to the draft on Stripe are picked up. See Opening a Stripe draft invoice.

Sending the invoice

Sending a Stripe invoice always goes through Stripe; Financica sends no email of its own for it and Peppol is not offered. Send invoice on the invoice page gives Stripe's two options:

  • Finalize and send finalizes the invoice on Stripe and has Stripe email it to the customer, with the hosted payment link. Stripe's reminders follow Stripe's settings.
  • Finalize only finalizes it on Stripe and records it as sent in Financica, without emailing the customer. Use it when you deliver the invoice another way.

Finalizing gives the invoice its Stripe number and locks it on both sides; from then on Resend invoice asks Stripe to email it again. Payments then follow Stripe and revenue above: the invoice is settled in your books when the payout carrying the charge is imported and linked.

Cross-currency charges

When a customer pays in a different currency than your Stripe settlement currency (for example, a USD payment settling to your EUR balance), Financica records the transaction with proper foreign exchange (FX) legs:

  • Bank leg -- The net amount received in your settlement currency (e.g. EUR).
  • Exchange legs -- A pair of legs on the Currency exchange account that represent the conversion: one in your settlement currency, one in the original charge currency.
  • Category leg -- The revenue amount in the customer's original payment currency (e.g. USD), which can be linked to invoices denominated in that currency.
  • Fee legs -- Stripe processing and currency conversion fees, in your settlement currency.

The original charge amount and currency are preserved rather than being collapsed into the settlement currency. For example, a $125.00 USD charge that settles as EUR 108.57 (at a rate of 0.868572) will show the full $125.00 USD on the revenue leg, with explicit exchange legs bridging the two currencies.

Stripe provides the exchange rate and original charge details on every cross-currency balance transaction. Financica detects this automatically during import -- no configuration is needed.

PayPal payments

PayPal is not a separate integration. When a customer pays through PayPal via your Stripe account, the payment is imported with the Stripe sync and labelled as a PayPal payment method on the transaction.