Support

Help and documentation

Invoices & payments

Recording a PayPal refund manually in Kyvento

Overview

There are two ways to refund a PayPal payment: through Kyvento (a cancellation with a refund via the payment provider) or directly in PayPal – for example in your PayPal business account or automatically through PayPal buyer protection during a dispute. In the second case PayPal returns the money without Kyvento knowing who triggered it. Normally PayPal reports such a refund via webhook and Kyvento records it automatically. If that report does not arrive, the payment still shows as fully paid in Kyvento – and your revenue is overstated. This article shows you how to record a refund that was triggered directly in PayPal cleanly by hand, without accidentally refunding the money a second time.

Why isn't the refund always mirrored automatically?

When you refund through Kyvento, everything happens in a single step: Kyvento instructs PayPal to return the money and records the refund locally at the same time. If you instead trigger the refund directly in PayPal, Kyvento only learns about it through the PAYMENT.CAPTURE.REFUNDED webhook. If no webhook ID is stored in your PayPal settings, or the message is lost in an individual case, that information never arrives. The payment then stays marked as "paid" even though the money has actually flowed back. This is exactly the gap you close by recording the refund manually.

Before you start

Have the key facts of the PayPal refund ready and clarify two points:

  • Amount and date: Note the amount actually refunded in PayPal (gross) and whether it was a full or partial refund.
  • Already mirrored? First open the affected payment in Kyvento and check whether a value already appears under "Refunded". If it does, the webhook reported the refund after all – and you don't need to do anything else.

You need permission to manage invoices (admin or finance role).

The key point: don't trigger a second payout

You record the refund in Kyvento by creating a cancellation of the original invoice. During the cancellation, Kyvento asks for the refund method – and this is the decisive choice:

  • "Manual refund" – this is the correct choice. Kyvento only records the refund for accounting purposes and assumes that the payout has already happened outside of Kyvento (which is your case – PayPal has already returned the money). No further payment is triggered.
  • "Refund via payment provider" – do not choose this option here. It would instruct Kyvento to ask PayPal for a payout again. The customer would then receive the money a second time – the amount would be refunded twice.
  • "Add to customer credit balance" – this pays out no money but credits the customer a balance for future invoices. That does not fit when PayPal has already returned real money.

Step by step: recording a full refund

If PayPal refunded the entire invoice amount:

  1. Open the affected invoice under "Invoices".
  2. Click "Cancellation" and stay on the "Create cancellation" tab (full cancellation).
  3. For the "Refund method", select "Manual refund".
  4. Under "Reason", enter a clear note about what happened – for example "Full refund triggered directly in PayPal on YYYY-MM-DD".
  5. Confirm with "Create cancellation".

Kyvento then creates a cancellation invoice for the full amount and marks the original invoice as cancelled – without contacting PayPal again.

Only part was refunded? Use a partial cancellation

If PayPal only refunded part of the amount (for example after a partial buyer-protection settlement), use the partial cancellation:

  1. Open the invoice, click "Cancellation" and switch to the "Create partial cancellation" tab.
  2. Select "Manual refund" as the refund method here as well.
  3. Define the refunded amount – either via the invoice positions (when the refund matches individual line items exactly) or via the "Custom amount". For the custom amount, enter the net amount and the matching tax rate.
  4. Check the preview: the gross amount shown there must exactly match the amount refunded in PayPal. Adjust the net amount until the gross value is correct.
  5. Add a reason and confirm with "Create partial cancellation".

What happens for your accounting

A cancellation with "Manual refund" is the accounting-correct mirror of the PayPal refund:

  • Kyvento creates a cancellation invoice (for a partial refund, over the refunded partial amount) with negative amounts. It corrects revenue and VAT of the original invoice – exactly what a refund has to do in accounting terms.
  • The cancellation invoice receives its own sequential number and is therefore documented in an audit-proof way; it also appears in the DATEV export as a separate posting.
  • Because you chose "Manual refund", only this correction is recorded – no money flows through Kyvento, and PayPal is not contacted again.

Checking the result

After the cancellation you should see:

  • A new cancellation invoice linked to the original invoice.
  • The original invoice marked as (fully or partially) cancelled – another cancellation for the same amount is then no longer possible.
  • Your revenue for the period corrected by the refunded amount, matching the real cash flow again.

Good to know

  • When in doubt, always choose "Manual refund" if the money has already flowed back through PayPal. "Refund via payment provider" is only meant for refunds you still want to trigger from within Kyvento.
  • Record the refund only once. Check beforehand whether the payment is already marked as "Refunded" – otherwise you document the same event twice.
  • To make sure such refunds arrive automatically in the future, store the webhook ID in your PayPal settings. PayPal will then report refunds and chargebacks to Kyvento on its own.

Next steps

  • Basics of cancellations and corrections – see "Credit notes and cancellations"
  • Enable automatic notifications from PayPal – see "Integrating PayPal"
  • Trace refunds in the DATEV export – see "Setting up the DATEV export"