Invoice PDF API untuk sistem billing dan finance
Buat PDF invoice biasa dari data billing dengan JSON Render atau Template Render, sambil menjaga logika pajak dan akuntansi tetap di sistem Anda.
/api/v1/pdf/render Mengubah data invoice dari sistem billing, ERP, atau SaaS menjadi PDF invoice yang mudah dibaca, sambil menjaga penomoran, pajak, status pembayaran, dan semantik akuntansi tetap di sistem caller.
Kapan memakai API ini
- Anda membutuhkan PDF invoice biasa untuk pelanggan, receipt, statement, atau export akuntansi.
- Sistem Anda sudah memiliki nomor invoice, perhitungan pajak, line item, dan status pembayaran.
- Anda menginginkan tabel, total, metadata, dan pengaturan PDF/A opsional tanpa menjalankan browser.
- Anda menginginkan kontrak template_id untuk layout invoice yang berulang.
Apa yang tidak digantikan
- Anda membutuhkan paket e-invoice legal seperti Factur-X atau ZUGFeRD. Gunakan E-Invoice Render.
- Anda mengharapkan gPdf menghitung pajak, memvalidasi aturan akuntansi, atau merekonsiliasi pembayaran.
- Anda menginginkan konversi invoice HTML arbitrer, bukan JSON terstruktur atau template.
Endpoint yang dipanggil
/api/v1/pdf/render
JSON Render adalah jalur default untuk workflow ini.
/api/v1/template-render
Gunakan saat workflow butuh jalur API terkait, kontrak template, atau capability lookup.
/api/v1/e-invoice/render
Gunakan saat workflow butuh jalur API terkait, kontrak template, atau capability lookup.
Request minimal
POST /api/v1/pdf/render - header dan total invoice minimal.
{
"pages": [
{
"size": "a4",
"elements": [
{
"type": "text",
"x": 20,
"y": 24,
"content": "Invoice INV-1007",
"style": { "font_size": 18, "font_family": "NotoSans-Regular" }
},
{
"type": "text",
"x": 20,
"y": 42,
"content": "Bill to: Example Customer\nAmount due: USD 245.00",
"style": { "font_size": 11, "font_family": "NotoSans-Regular" }
},
{
"type": "line",
"x1": 20,
"y1": 62,
"x2": 190,
"y2": 62
}
]
}
]
}
Yang ditangani gPdf
- Render PDF invoice dari halaman JSON atau data template.
- Teks, tabel, blok total, pagination, metadata, dan output PDF/A opsional.
- Template Render untuk layout invoice stabil yang dipakai beberapa sistem.
- Respons PDF biner dan envelope error API yang konsisten.
Yang dikelola sistem Anda
- Nomor invoice, status pembayaran, perhitungan pajak, diskon, kredit, dan makna ledger.
- Data pelanggan dan penerbit, mapping line item, mata uang, dan aturan pembulatan.
- Retensi, delivery, email, payment link, dan rekonsiliasi sistem akuntansi.
Checklist produksi
- Pastikan setiap field invoice yang terlihat dipetakan ke source billing data.
- Uji overflow line item, nama pelanggan panjang, invoice multi-halaman, dan total.
- Tentukan apakah layout berada di JSON Render atau template yang dipublikasikan.
- Pisahkan pembuatan PDF invoice biasa dari packaging e-invoice legal.
- Simpan request ID dan nama file output bersama record invoice Anda.
Batas klaim
- PDF invoice biasa tidak sama dengan mandat e-invoice legal.
- gPdf merender dokumen invoice; gPdf tidak menghitung pajak atau status akuntansi.
- Output Factur-X / ZUGFeRD berada di POST /api/v1/e-invoice/render.
Invoice biasa versus e-invoice
PDF invoice biasa adalah dokumen yang dibaca pelanggan Anda. Dokumen ini dapat digenerate dari JSON Render atau Template Render. Sistem Anda menentukan nomor invoice, pajak, line item, mata uang, dan status pembayaran, lalu gPdf merender PDF yang terlihat.
E-invoice legal berbeda. Factur-X dan ZUGFeRD menggabungkan invoice PDF/A-3b yang dapat dibaca manusia dengan EN 16931 CII XML tertanam. Gunakan POST /api/v1/e-invoice/render untuk paket tersebut.
Template Render biasanya menjadi endpoint production
Tim finance jarang ingin setiap service membangun ulang koordinat invoice. Jalur umum adalah mendesain invoice sekali, memublikasikannya sebagai template, lalu memberi caller template_id yang stabil plus schema data. JSON Render tetap berguna untuk layout kustom, tool internal, dan prototyping template.
Jaga logika akuntansi tetap upstream
gPdf sebaiknya menerima nilai tampilan final, bukan keputusan akuntansi yang belum selesai. Hitung pajak, diskon, pembulatan, status pembayaran, dan kelayakan invoice sebelum memanggil render API. Ini membuat output PDF deterministik dan menjaga sistem finance sebagai source of truth.
FAQ
- Apakah PDF invoice sama dengan e-invoice?
- Tidak. PDF invoice biasa adalah output yang dibaca manusia. E-invoice Factur-X atau ZUGFeRD juga menanamkan EN 16931 CII XML di dalam wrapper PDF/A-3b.
- Endpoint mana yang cocok untuk invoice berulang?
- Gunakan Template Render saat layout invoice stabil dan caller cukup mengirim template_id plus data. Gunakan JSON Render saat kode memiliki layout.
- Apakah gPdf menghitung pajak?
- Tidak. Sistem billing atau akuntansi Anda menghitung pajak, total, diskon, dan status pembayaran sebelum mengirim data render.
- Bisakah PDF invoice memakai PDF/A?
- Ya, JSON Render mendukung pengaturan PDF/A. Gunakan E-Invoice Render secara khusus ketika invoice harus dipaketkan sebagai Factur-X atau ZUGFeRD.