Skip to content
Rechnungskit
E-invoicing software · made in Germany

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.

No credit card · set up in under an hour · personal onboarding
The gap

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.

Without RechnungskitWith Rechnungskit
Prepayment orders invoiced by hand or forgotten entirely The shop status “paid” is enough as the payment signal
Invoice written when the order comes in, while payment and shipping are still open Invoice created on shipping, with the date of supply equal to the shipping date
Payment recorded twice, once in the tool and once from the bank statement at your tax advisor No duplicate payment booking; the bank receipt stays with your tax advisor
Prepayment and buy now, pay later by invoice lumped together Prepayment and pay by invoice are separately configured flows
How it works

Four steps to a compliant e-invoice.

  1. 01
    Map the payment method
    Under 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).
  2. 02
    The order waits
    A 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.
  3. 03
    The payment is detected
    You 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.
  4. 04
    Invoiced on shipping
    When 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

FAQ

The order of events. With prepayment, the customer pays first, then you ship and invoice. With pay by invoice, you ship and invoice first; the invoice carries payment terms and the payment is tracked in the open items list. Rechnungskit keeps the two flows separate, and a payment method can only belong to one of them.
Last reviewed:

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
de en