Polar
Turn Polar subscription events into /v1/subscriptions and /v1/sales-invoices in Zivvy.
The snag
SaaS teams using Polar for open-source and creator subscriptions lose finance visibility because MRR never lands in their ERP.
How Zivvy helps
Forward subscription.created and subscription.updated Polar events into /v1/subscriptions; Zivvy generates recurring /v1/sales-invoices automatically.
Before Zivvy
Handoffs go missing, owners are unclear, audits get painful.
What you get
- Subscription lifecycle mirrored via /v1/subscriptions
- MRR and churn rolled into Zivvy revenue reporting
- Failed-payment events open a task on the AR owner
Workflow stream
Common uses
01
Polar subscription.created → /v1/subscriptions with billing plan
02
Polar subscription.updated → plan/status change in Zivvy
03
Polar subscription.canceled → close subscription + AR task
Integration code
Open API referenceCreate a subscription
curl -X POST https://integrate.zivvy.xyz/v1/subscriptions \
-H "Authorization: Bearer $ZIVVY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"party_type": "Customer",
"party": "Acme Corp",
"start_date": "2026-07-01",
"plans": [{ "plan": "Pro Monthly", "qty": 1 }],
"external_id": "polar_sub_01H..."
}'Polar webhook -> Zivvy
import { zivvy } from "./zivvy-client";
export async function handlePolar(event) {
if (event.type === "subscription.created") {
const s = event.data;
await zivvy.subscriptions.create({
external_id: s.id,
party_type: "Customer",
party: s.customer.email,
start_date: s.current_period_start,
plans: [{ plan: s.product.name, qty: 1 }]
});
}
}API endpoints
Events emitted
HMAC-SHA256 signed webhooks, retried for 24 hours.
- subscriptions.created
- subscriptions.updated
- subscriptions.canceled
- sales-invoices.submitted
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.