Skip to content

Record payments by hand

For invoices, bank transfers and deals closed off-platform: add a payment from the Revenue page in a few seconds.

Not every sale goes through a checkout. Consulting invoices, bank transfers, annual deals agreed over email and any provider Statsy has no webhook for can all be entered directly, so your revenue reports match your actual revenue.

Add a payment

  1. Open Revenue and press Record payment

    The button sits in the header of the Revenue page, next to the attribution controls.

  2. Fill in the amount, currency, type and date

    Type is One-time payment, Subscription renewal or Refund. Enter the amount in normal money — 49.00, not 4900. The date cannot be in the future.

  3. Add the buyer's email

    This is the field that does the work. With it, Statsy can match the payment to the visitor who was on your site and credit the channel that found them. Without it, the payment counts toward revenue but no channel gets the credit.

More matching options

Under the collapsed section you can give Statsy two stronger hints than an email:

  • Customer id — your own id for this customer. Use the same one every time and their payments roll up into one customer record with a lifetime value.
  • Visitor id — the value statsy.visitorId() returned in that person's browser. If you ever capture it on a form, this is the most exact match there is.

Note. A recorded payment goes through exactly the same matching and attribution as a webhook payment. It is not a second-class figure; it is the same kind of row, entered by hand.

Use the real date

Attribution looks at the touches in the lookback window before the payment. Entering last quarter's invoice with today's date credits whatever brought that person to your site this week, which is almost certainly wrong. Backdate it.

What you cannot do

Recorded payments cannot be edited or deleted from the dashboard. Check the amount and the date before saving. If you need to correct one, record a refund for the mistaken amount, then record the payment again correctly.

Entering more than a handful at a time is a job for the Payment API, which is idempotent and safe to run from a nightly script.

Last updated · Markdown version