Payments Processor
Run bulk supplier payment files (SEPA, ACH, NACHA) directly from /v1/payment-entries.
The snag
AP teams manually export bank files from spreadsheets each week, and there is no audit link from the file back to individual invoices.
How Zivvy helps
The payments-processor add-on groups approved /v1/payment-entries into a payment run and emits SEPA XML, NACHA, or ACH files with per-invoice traceability.
Before Zivvy
Handoffs go missing, owners are unclear, audits get painful.
What you get
- Batch approved /v1/payment-entries into a single payment run
- SEPA pain.001, NACHA, and ACH file generation
- Two-eyes approval + full audit trail per run
Workflow stream
Common uses
01
Weekly supplier payment run to bank
02
Batch payroll disbursement
03
Refund runs to customers via ACH
Integration code
Open API referenceCreate a payment run
curl -X POST https://integrate.zivvy.xyz/v1/payment-runs \
-H "Authorization: Bearer $ZIVVY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"bank_account": "Deutsche Bank - EUR",
"payment_entries": ["PAY-2026-0101", "PAY-2026-0102"],
"value_date": "2026-07-30"
}'Export SEPA pain.001
import requests
run = requests.post(
"https://integrate.zivvy.xyz/v1/payment-runs/RUN-2026-0007/export",
headers={"Authorization": f"Bearer {ZIVVY_API_KEY}"},
json={"format": "sepa_pain_001_09"},
).json()
pain = requests.get(run["download_url"]).content
open("sepa-2026-07-30.xml", "wb").write(pain)API endpoints
Events emitted
HMAC-SHA256 signed webhooks, retried for 24 hours.
- payment-runs.created
- payment-runs.approved
- payment-runs.exported
0
free seats forever
0
card required to start
1
workspace for the workflow
Questions
Ready to try it?
Free plan. Two seats. No card.