Skip to content
Payvol

B2B invoicing

Send the invoice. Let the payment find it.

The oldest problem in receivables is not getting paid. It is working out, afterwards, which invoice the money belonged to. This is the situation Payvol was drawn around.

Start building Other situations

Request · available Verify · available Observe · in development Reconcile · in development Connect · planned

Monday

Nobody's problem is sending the invoice.

An invoice leaves on Monday with an address and a reference somebody is asked to type. On Wednesday a payment arrives. On Friday the reference is missing, or misspelled, or the amount is short by the fee, or two invoices were paid in one transfer. Then somebody opens a spreadsheet.

The invoice becomes something a wallet can read

Your billing system produces the request alongside the PDF it already sends. Same delivery, same inbox, same customer. The difference is that the payment instruction is now structured rather than a line of text somebody has to retype.

Your customer's wallet checks before it pays

It confirms the request was not altered, that the destination belongs to the payee named on it, and that the receiving side can actually accept the asset. What it cannot establish, it says out loud rather than passing quietly.

The payment lands on your own node

No notification service and no webhook from a provider standing between you and your own receivables. Your participant already receives everything you are party to, and the identifier from the invoice is sitting in it.

The exceptions are the only thing left to read

The clean payments match themselves. What reaches a person is the short partial, the one that came late, the duplicate that might be real, and the transfer with no identifier at all. Each one arrives already explained.

What changes in your systems

Three integration points, and none of them is your ledger.

01

Billing

  • Produce a request when you produce the invoice
  • Attach it to the email you already send
  • Keep your invoice number where it belongs, in your system

02

Node access

  • Read settlements from a participant you already use
  • Run the adapter next to whatever else reads it
  • No new service to expose, no inbound webhook

03

Accounting

  • Take closure readiness as an input, not an instruction
  • Post through your existing controls and approvals
  • Export a statement when the period closes

Honest about the fit

Where this does not help yet.

Receivables is the situation we have thought about hardest, which is exactly why the gaps are worth naming.

Your customer needs a wallet that reads the format Today that means the reference implementation. Until a wallet team ships support, a customer without one still pays the old way.
Fiat invoices stay fiat invoices This is for payments settling on Canton. An ISO 20022 gateway is designed and not built, so a bank transfer is still a bank transfer.
Disputes and credit notes are out of scope A refund is expressed as a new request referring back to the old one. The dispute process itself belongs to other work in the ecosystem.
Nothing here is in production anywhere The measurements come from devnet. If you integrate now you are early, and the honest reason to do it is influence over the format rather than time saved this quarter.

Payvol classifies and hands over. Your ledger decides what closing means and posts the entry, because that decision belongs to whoever is accountable for the accounts. Connect, which would carry the classification into that ledger for you, is planned and not built, so today the handover is a record your own integration reads.

Get Friday back.

Or at least find out how much of it was avoidable.

Open the app Merchant and POS