Shopify bank transfer prepayment: automatic invoice after payment
With prepayment (Vorkasse), the customer transfers money straight to your bank account, without Stripe, Mollie or PayPal. That means there is no webhook from a payment provider. Rechnungskit therefore uses the order status in your shop as the payment signal: as soon as you set the order to “paid” in Shopify, Rechnungskit records the payment automatically. The invoice is created when the order ships, with the correct date of supply, and shows as paid from the start.
No manual invoice, no double booking, no forgotten document. Clicking “paid” in your shop is all it takes.
Writing invoices is easy. Writing compliant ones is not.
The difference between a PDF and a compliant e-invoice matters at the next tax audit. Rechnungskit closes exactly this gap.
Four steps to a compliant e-invoice.
- 01Map the payment methodUnder Connections, you choose which manual payment methods count as prepayment. The options come from your incoming orders, exactly as Shopify reports the payment method. Each payment method sits on exactly one list: prepayment (payment before shipping) or pay by invoice (invoice before payment).
- 02The order waitsA new prepayment order stays uninvoiced as long as no payment has come in. No premature invoice and no pro forma that would need correcting later.
- 03The payment is detectedYou check your bank statement and set the order to “paid” in Shopify. That status change is the signal: Rechnungskit automatically records the payment as a prepayment receipt, without any payment provider involved.
- 04Invoiced on shippingWhen the order ships, the invoice is created like for any other order: ZUGFeRD 2.5, date of supply equal to the shipping date, as a paid invoice with the payment method “Prepayment (bank transfer)”, archived to GoBD standards and included in the DATEV export.
The problem: prepayment has no payment provider
Shopify offers prepayment as a manual payment method. The customer orders, gets your bank details and pays by regular bank transfer. Stripe, Mollie and PayPal are not involved, so there is no webhook to report the payment either. Any tool that only listens to payment providers cannot see it.
The one reliable source is the order status in your shop: you see the transfer on your bank statement and mark the order as paid in Shopify. Rechnungskit uses exactly that status change as the payment signal, with no extra banking app and no access to your bank account.
Prepayment and pay by invoice are two different flows
| Prepayment | Pay by invoice | |
|---|---|---|
| Order of events | payment first, then shipping | shipping first, then payment |
| Payment signal | “paid” status in the shop | payment arrives later, via open items list |
| Invoice created | on shipping, already paid | on shipping, open with payment terms |
| Payment reminders | not needed | can be set up to run automatically |
You configure both flows in the same setting in Rechnungskit, but they are kept strictly apart: each payment method belongs to exactly one flow. That prevents a prepayment order from accidentally creating an open receivable, or a pay-by-invoice order from counting as paid before any money has arrived.
What happens technically on the status change
As soon as Shopify reports the order as paid and the payment method is on your prepayment list, Rechnungskit records a payment with the method “Prepayment (bank transfer)”. This payment is idempotent: even if Shopify sends the same event several times, it is created only once.
From there, the order runs through the pipeline like any paid order: shipping triggers the invoice, the date of supply is the shipping day, and the invoice is created as ZUGFeRD 2.5, validated and archived to GoBD standards (the German rules for audit-proof bookkeeping).
DATEV: no duplicate payment booking
One important difference from homegrown setups: Rechnungskit deliberately does not export a separate payment booking to DATEV for the prepayment. The bank receipt is on your bank statement, and your tax advisor (Steuerkanzlei) books it from there. If the tool sent an extra payment booking, the same incoming payment would be recorded twice.
The DATEV export therefore contains the invoice with its revenue accounts and tax codes, and clearing it against the bank is left to your tax advisor. It is the same principle as with pay by invoice and matches the usual split of work between merchant and tax advisor.
Set up in a minute
You find the prepayment settings under Settings, Connections, in the “Pay by invoice & prepayment” section. There you pick the payment methods seen in your orders that should run as prepayment. More on connecting your shop is on the Shopify integration page. If you use WordPress, WooCommerce prepayment shows the matching status flow.
FAQ
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.
Ready for the e-invoicing mandate?
Create an account, connect your payment provider, check everything in free test mode. Billing starts when you go live.
Try it now