Lewati ke konten

Invoice

Tagih pelanggan dengan rincian barang atau jasa, pajak, dan tanggal jatuh tempo; mereka membayar di halaman bayar Baiyar.


Invoice adalah payment link dengan tagihan terperinci di sekelilingnya. Pelanggan menerima email dengan tombol bayar dan membayar di halaman bayar Baiyar yang sama seperti payment link lain.

  1. Pilih Invoice di menu lalu Invoice baru.

    Invoice sebelum yang pertama dibuat.

  2. Pilih proyek dan isi nama serta email pelanggan (nomor telepon opsional). Link bayar dikirim ke email ini.

  3. Tambahkan satu baris untuk tiap barang atau jasa: deskripsi, jumlah, dan harga satuan dalam rupiah bulat.

  4. Pilih pajak: tanpa pajak, PPN, atau persentase lain, jatuh tempo (berlaku sampai akhir hari itu dalam WIB, dan harus setelah hari ini), dan siapa yang menanggung biaya: pengaturan proyek, kamu, atau pelanggan.

    Formulir invoice: pelanggan, baris tagihan, pajak, dan total.

  5. Nomor invoice dibuatkan untukmu. Tidak ada yang dikirim sampai kamu menerbitkan invoice, jadi kamu bisa menyimpan draf dan kembali nanti.

    Invoice yang sudah diterbitkan beserta tautan bayar dan statusnya.

Status Artinya
Draf Belum diterbitkan. Bisa diedit atau dihapus.
Menunggu bayar Sudah diterbitkan, belum dibayar.
Sedang dibayar Pelanggan sudah memulai pembayaran.
Lunas Dibayar penuh.
Jatuh tempo Tanggal jatuh tempo terlewat.
Dibatalkan Dibatalkan olehmu.

Draf bisa dihapus, dan invoice yang sudah diterbitkan bisa dibatalkan. Pembayaran sebuah invoice muncul di Transaksi seperti pembayaran lain.

Invoice yang sama, dari servermu. Key butuh izin invoices:write untuk membuat, menerbitkan, membatalkan, dan menghapus invoice, dan invoices:read untuk membacanya (lihat Izin). Operasinya ada di referensi API.

Membuat invoice hanya menyimpan draf. Terbitkan untuk mendapat tautan bayar, dan, di live, untuk mengirim email ke pelanggan:

Terminal window
curl "https://api.baiyar.com/v1/invoices" \
-H "Authorization: Bearer $BAIYAR_KEY" \
-H "Idempotency-Key: invoice-2041" \
-H "Content-Type: application/json" \
-d '{
"customer_name": "Budi Santoso",
"customer_email": "budi@example.com",
"items": [{ "description": "Desain logo", "quantity": 2, "unit_amount": 30000000 }],
"tax_rate_bp": 1100,
"due_at": "2026-11-15T16:59:59Z"
}'
curl -X POST "https://api.baiyar.com/v1/invoices/$INVOICE_ID/issue" \
-H "Authorization: Bearer $BAIYAR_KEY" \
-H "Idempotency-Key: invoice-2041-issue"

Nominal dikirim dalam satuan terkecil IDR. Rp300.000 ditulis 30000000. tax_rate_bp memakai basis poin, jadi 1100 berarti 11%.

Invoice yang sudah terbit memiliki url untuk dibagikan ke pembayar. Statusnya bisa open, paying, paid, expired, atau void; draft hanya berlaku sebelum diterbitkan. Ikuti event webhook invoice.issued, invoice.paid, dan invoice.voided untuk menerima perubahan status. Invoice yang melewati due_at tidak mengirim event kedaluwarsa, jadi periksa tanggal tersebut.

Setiap aksi memerlukan Idempotency-Key agar pengulangan request tidak mengirim email lagi. Key proyek hanya membaca invoice proyeknya; key merchant perlu menyertakan project_id.

Field request invoice:

Field Tujuan
project_id Proyek yang menerima pembayaran. Wajib untuk key merchant; project key sudah terikat ke satu proyek.
customer_name, customer_email, customer_phone Identitas dan alamat email penerima invoice. Di live, email dipakai untuk mengirim invoice saat diterbitkan. Telepon opsional.
items Rincian tagihan. Tiap baris punya description, quantity, dan unit_amount; subtotal dihitung dari jumlah × harga satuan. unit_amount berupa satuan terkecil IDR dan harus mewakili rupiah bulat.
tax_rate_bp Persentase pajak dalam basis poin; 1100 berarti 11%. tax_amount dihitung dari subtotal dan tarif ini, lalu dibulatkan ke rupiah terdekat. Jika tidak dikirim, tarifnya 0%.
due_at Batas waktu pembayaran dalam ISO 8601. Invoice yang sudah diterbitkan berubah menjadi expired setelah batas lewat; draf yang tanggalnya sudah lewat harus diperbarui sebelum diterbitkan.
fee_bearer Menentukan apakah biaya transaksi ditanggung merchant atau ditambahkan ke jumlah yang dibayar pelanggan. Jika tidak dikirim, pengaturan proyek dipakai.
note Catatan teks pada invoice untuk pelanggan.

Buat draf, periksa subtotal, tax_amount, total, dan penerima, lalu terbitkan. Baiyar membuat payment link untuk invoice. Pembayaran melalui link itu memperbarui status invoice dan menghasilkan event webhook terkait.