Payout reconciliation for payment providers
Rechnungskit splits every payout from your payment providers into payments, fees and refunds and matches each line against your invoices. Fees are never netted against sales. If a payout does not add up to the cent, the difference becomes a task instead of being silently rounded away.
Why it matters
Your bank account receives one lump-sum transfer that contains many sales, deducted fees and refunds. To book it, someone has to download the provider report, match the lines and work out the fees. If a payment is missing or recorded twice, that often only shows up at the year-end closing.
What happens to a payout?
Rechnungskit fetches every payout from the provider and records its parts one by one: payments, refunds, fees and the correction lines providers list themselves, such as rounding or reserves. Each line is then checked against the payments and invoices in Rechnungskit.
Rechnungskit takes the fees exactly as the provider calculated them. If a provider delivers amounts with fractions of a cent, Rechnungskit adds them up exactly and rounds only once. The remainder is spread across the lines so that their sum always matches the real total. Internally Rechnungskit only calculates in whole cents.
- Splitinto payments, refunds, fees and the provider's own correction lines
- Take over feesin the provider's actual cent amounts, never netted against revenue
- Check every lineagainst the payments and invoices in Rechnungskit, not just the total
When does Rechnungskit flag something?
A task "Lines unresolved" appears when no payment can be found for a line. That also applies when the payout adds up to the cent in total. A difference points to a missing, duplicate or wrongly valued transaction, so it is never rounded away.
Rechnungskit resolves two common cases itself:
- Refunds with Shopify Payments. Shopify books them under the transaction ID of the refund. Rechnungskit resolves them through the order that comes with them, as long as that order has exactly one payment from the provider.
- Refunds for old orders. A current payout sometimes contains refunds for orders that were still invoiced in the old system. These lines stay visible but do not keep a task open.
If you accept a remaining difference, you add a reason. The decision is logged so it cannot be changed, and it is lifted as soon as the payout adds up later.
And in the bookkeeping?
The DATEV export takes payments, fees and payouts as separate bookings. Refunds are booked against the money account of the provider that made the refund. That way the lump-sum transfer on your bank account can be traced back to its individual parts.
In detail
- Automatic split into payments, fees and refunds; fees are never netted against sales
- For Klarna directly from the settlement: fee per transaction plus commission per payout
- For Unzer from the single transaction report (ETN CSV): fees per transaction, net and gross kept apart
- If the payment for a line is missing (a missed webhook, a sale before your Belegstart, the date Rechnungskit starts issuing your documents), reconciliation fetches it from Stripe and Mollie automatically
- Every single line is checked, not just the total
- Fees are taken over in the provider's actual cent amounts, never recalculated as a percentage; Rechnungskit creates no rounding differences of its own
- You see unresolved lines right away and resolve them with a reason; the decision is stored in the audit log and cannot be changed