Guides › Payments

How to send a PayPal invoice from a form

5 min read · Updated 5 October 2026
On this page

Once a piece of work is agreed, the invoice should go the same day. In practice it waits until someone has time to open PayPal, find the customer and type the line again — and an invoice sent a week late is often paid a week late.

This guide turns it into a short form. You fill in who the invoice is for, the amount and what it covers, and PayPal emails the customer an invoice they can pay online. Each one is also written to a list in Bizomate, with its number and the page where it is paid, so you can see at a glance what has gone out.

New invoice Published v1
  1. Formwhen the invoice form is sent
  2. PayPal · Create an invoice and send itPayPal emailed the customer the invoice
  3. Add a rowadded it to Invoices sent

What you need

  • A PayPal business account and a PayPal connection in Bizomate — a REST app's Client ID and Secret, with Live or Sandbox (test). Make a Sandbox connection too, for testing. Connect PayPal
  • A list in Bizomate called Invoices sent, with columns such as Customer, Email, Amount, Invoice number and Pay link. Create a list

The form, PayPal and Lists work on every plan, Free included.

Build it

  1. In Bizomate, choose New workflow, then Form as its trigger. In Form title, type New invoice. A new form starts with Your name and Email; change them and add two more, so the fields read:

    • Customer name — Text
    • Customer email — Email, required
    • Amount — Number, required, with Smallest set to 1
    • Description — Text, required. In Help text, write One line, as it should read on the invoice.

    Each answer reaches the workflow by a key made from its label: {{ trigger.customer_email }}, {{ trigger.amount }}, {{ trigger.description }}. Start a workflow from a form · Set up the fields on a form

    This form is for you and your team, not for customers. Anyone with its link can send it, and each send asks PayPal for an invoice from your account. Keep the link where you keep other work tools.

  2. Create the invoice and send it. Add PayPal · Create an invoice and send it and choose your PayPal connection. Then:

    • Customer email: {{ trigger.customer_email }}
    • Customer name: {{ trigger.customer_name }}
    • Items: select Add a field. On the left, the item's name, {{ trigger.description }}; on the right, its amount, {{ trigger.amount }}.
    • Currency: leave $ US dollar, or choose euro, pound sterling, or the Australian, Canadian or Singapore dollar. It is the same for every invoice this workflow sends.
    • Send it: on. PayPal emails the customer a link to pay.

    Amounts are written in the currency's main unit — 1200 or 1,200.00 both mean US$1,200. Each item is one line with a quantity of one, and its name can be anything that fits on a line — Phase 2: route planning included. Create and send a PayPal invoice

  3. Keep a record. Add Add a row from Data, choose Invoices sent, and fill each column: {{ trigger.customer_name }}, {{ trigger.customer_email }}, {{ $json.amountText }}, {{ $json.number }} and {{ $json.url }}. The last three come from the invoice PayPal made — $ 1,200.00, its number, and the page where the customer pays it. Add or update a row in a list

  4. Publish, then copy the form's live link from Address. Publish a workflow

Test it with a sandbox invoice

Choose your Sandbox connection in the PayPal step. The step shows the Test mode pill. A Sandbox app's keys never move real money, and invoices go to PayPal's sandbox, not to a real customer.

Select Test run. The form's fields are filled with sample answers, so check the invoice in your PayPal sandbox and the new row in Invoices sent. For a test closer to the real thing, publish and fill in the form yourself — an invoice for Northwind Logistics, orders@northwind.example, 1200, Route planning, October.

When it reads right, change the step to your Live connection and publish again. If you publish with the Sandbox connection still chosen, Bizomate asks Publish with test keys? first.

If it does not work. Each form sent leaves a run with the answers, PayPal's answer and the row. The usual causes:

  • PayPal refused: Client Authentication failed. The keys are from the other environment — Sandbox keys on a Live connection, or the other way round.
  • The amount is not an amount. The field was empty or not a number. Keep Amount required.
  • PayPal refused, in its own words. An email it cannot read, or a currency the account cannot invoice in.

What it costs

Each form sent is one run, whatever the amount. Thirty invoices in a month use thirty runs. PayPal charges its own fees when the invoice is paid; Bizomate takes nothing from the payment. What counts as a run

Questions

Does this step move money?

No. It asks the customer for money and moves none. PayPal's capture and refund steps do, and Bizomate marks those Moves money. Steps that move money

Can an item's name contain a colon?

Yes. Phase 2: route planning reaches the invoice as written, colon included.

Can one invoice have several lines?

Yes. Under Items, select Add a field once for each line, each with its own name and amount. Add a field to the form for each one you fill in from there.

Related apps

Try it on your own PayPal account

No card needed.

Start free