Skip to content
Rechnungskit
Feature

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.

Payout reconciliation · Flow
From the lump-sum transfer to a checked booking
Your payment provider
Payoutone lump-sum transfer to your bank account, containing many sales, deducted fees and refunds
StripeMolliePayPalKlarnaShopify PaymentsUnzer
Rechnungskit
  1. Splitinto payments, refunds, fees and the provider's own correction lines
  2. Take over feesin the provider's actual cent amounts, never netted against revenue
  3. Check every lineagainst the payments and invoices in Rechnungskit, not just the total
Result
Everything matchedpayments, fees and the payout go into the DATEV export as separate bookings
Line without a paymenttask "Lines unresolved": fetch the missing payment, match it by hand or accept the difference with a reason
The task appears even when the payout adds up to the cent in total. Unzer has no payout API, so its fees come from the monthly ETN CSV upload.

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:

  1. 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.
  2. 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

Frequently asked questions

Stripe by webhook per payout, Mollie and Klarna daily through the settlements API, PayPal daily through the transaction history and Shopify Payments through the shop connection. Unzer has no payout interface, so its fees come from the monthly ETN CSV upload.

Recent changes

Rechnungskit is not a tax advisory or law firm. This article explains general principles and does not replace advice from a tax advisor (Steuerberater, § 5 StBerG) or a lawyer (§ 3 RDG). Rechnungskit is built for businesses based in Germany and prepares documents, tax rates and bookings automatically. How your specific case is treated remains your decision, ideally together with your tax advisor or a lawyer.

Try it with your real data in the free test mode.

Connect your shop and payment provider and Rechnungskit runs alongside. Billing only starts at go-live.

Try it now
de en