Only bank transfer is enabled by default. Card, ACH direct debit, and USDC
payment methods must be turned on for your business before you can add them to an
invoice. Test the whole flow in the sandbox before going live.
You’ll need
- An API key with the billing scopes for the resources you touch:
billing:products:read/billing:products:writefor productsbilling:customers:read/billing:customers:writefor customersbilling:invoices:read/billing:invoices:writefor invoicesbilling:accounts:readto list collection accounts
1. Create or find a product
A product is a reusable good or service with a default price. List what you already have.GET /billing/products returns a bare array:
Response
Response
id. You will reference it from each invoice line item.
2. Create or find a customer
A customer is who you invoice.POST /billing/customers needs a nickname and
email; an address is optional but appears on the invoice when present.
Response
id for the invoice. GET /billing/customers lists your
existing customers as a bare array.
3. Choose the payment methods
Check which payment methods are enabled for your business. The response lists them underallowed_types:
Response
BANK_TRANSFER is always available. CARD, ACH_DIRECT_DEBIT,
INTERNATIONAL_WIRE, and the USDC/USDT variants only appear once enabled for
your business. Card and ACH direct debit also require customer consent to charge.4. Pick a collection account
Collection accounts are where invoice payments land. List the accounts available to receive funds:Response
id as collection_account_id on the invoice.
5. Create the invoice
Combine the pieces into an invoice. Each line item points at aproduct_id and a
quantity; omit price or description to inherit the product’s defaults, and
add a discount_percentage for a per-line discount.
Response
Use today’s
invoice_date to send the invoice now, or a future date to schedule
it. The invoice stays Scheduled and the email goes out on the invoice_date.6. Send invoices on a recurring schedule
For subscriptions or retainers, pass arecurring_schedule as an RFC 2445 RRULE
when you create the invoice, and Meow issues each occurrence on schedule.
7. Retrieve and track invoices
Fetch one invoice withGET /billing/invoices/{invoice_id}, list them all with
GET /billing/invoices (a bare array), or download the PDF from
GET /billing/invoices/{invoice_id}/download. Each invoice reports its status
alongside amount, amount_paid, and amount_due:
End to end
See also
Create a product
Full request contract for
POST /billing/products.Create a customer
Register who you invoice, with an optional address.
Create an invoice
Line items, discounts, payment methods, and scheduling.
List collection accounts
The accounts that can receive invoice payments.