Penjualan

Siklus penjualan lengkap: penawaran harga, pesanan penjualan, surat jalan, faktur pajak yang sesuai ketentuan ZATCA, retur (nota kredit) dan nota debit — ditambah pengelolaan pelanggan dan wiraniaga.

ℹ️ Urutan siklus: Penawaran → (setujui) → Pesanan penjualan → (setujui) → Surat jalan → (setujui) → Faktur penjualan → (posting) → Bukti penerimaan kas. Setiap dokumen dibuat dari dokumen pendahulunya yang telah disetujui melalui tombol konversi yang membawa serta pelanggan, gudang dan baris item — dan Anda bisa memulai dari titik mana pun (misalnya faktur langsung). Hanya posting faktur penjualan yang menggerakkan stok dan membuat jurnal akuntansi; penawaran, pesanan dan surat jalan adalah dokumen komersial tanpa dampak stok maupun buku besar.

Pelanggan

Rute: Penjualan › Pelanggan/commercial/customers

Pelanggan
Daftar pelanggan
Pelanggan baru
Menambahkan pelanggan

Fungsi: kartu master pelanggan. Setiap dokumen penjualan diawali dengan memilih pelanggan, dan nilai bawaan pada kartunya (metode pembayaran, wiraniaga, daftar harga, diskon) otomatis disalin ke setiap dokumen baru.

Kolom kartu

KolomDeskripsi & validasi
KodeDibuat otomatis untuk pelanggan baru (hanya-baca, disimpan dalam HURUF BESAR). Ditetapkan sekali saat pembuatan; harus unik.
Nama (Arab)Wajib. Nama yang ditampilkan di seluruh sistem dan pada dokumen cetak.
Nama (Inggris)Opsional — jika dikosongkan, nama Arab yang digunakan.
Nomor VATNomor registrasi pajak pelanggan (hingga 20 karakter). Nomor VAT KSA yang valid terdiri dari 15 digit yang diawali dan diakhiri angka 3 (mis. 3XXXXXXXXXXXXX3); ZATCA menolak faktur B2B yang nomor VAT pembelinya tidak valid. Kosongkan untuk konsumen akhir (B2C).
Telepon / Email / AlamatData kontak; telepon dan alamat dicetak pada faktur.
Jalan, No. Gedung, Distrik, Kota, Kode PosBlok alamat nasional. No. Gedung dan Kode Pos adalah isian numerik. Dicetak pada faktur pajak dan dikirim ke ZATCA sebagai alamat pembeli.
Batas kredit≥ 0. Jika > 0, sistem memblokir posting faktur kredit apa pun yang akan membuat saldo berjalan melewati batas ini. 0 = tanpa batas.
Saldo awalSaldo pelanggan saat mulai menggunakan sistem; diperhitungkan dalam saldo berjalan yang tampil di daftar.
Hari jatuh tempo≥ 0 — termin pembayaran yang disepakati, dalam hari.
Diskon bawaan0–100% yang disarankan pada dokumen.
Daftar hargaOpsional. Jika ditetapkan, harga daftar pelanggan menggantikan harga jual bawaan item pada dokumen baru (“Harga bawaan” = tanpa daftar).
Metode pembayaranTunai / Kredit — disalin ke setiap faktur baru untuk pelanggan ini.
WiraniagaWiraniaga bawaan — terisi otomatis pada penawaran, pesanan dan faktur baru.
AktifTampil saat mengedit. Pelanggan nonaktif tetap ada di riwayat tetapi sebaiknya tidak dipakai pada dokumen baru.

Tombol dan panel samping

  • Simpan / Simpan & Baru / Kembali — aksi edit standar; Simpan & Baru mengosongkan formulir dan mengambil kode berikutnya.
  • Laporan Rekening (mode edit) — membuka pusat laporan dengan pelanggan ini sudah terpilih dan langsung menjalankan laporan rekening.
  • Catatan — panel catatan teks bebas di samping kartu menyimpan riwayat catatan per pelanggan.
ℹ️ Faktur standar vs sederhana (B2B/B2C): e-faktur standar (B2B, CLEARED) hanya diterbitkan jika pelanggan memiliki nomor VAT dan alamat nasional lengkap (jalan/alamat, no. gedung, kota, kode pos). Jika ada yang kurang, sistem otomatis menerbitkan faktur sederhana (B2C, REPORTED) sebagai gantinya — ini mencegah penolakan ZATCA akibat data pembeli yang tidak lengkap.
ℹ️ Saldo berjalan: kolom Saldo di daftar = saldo awal + faktur terposting + nota debit terposting − nota kredit terposting − penerimaan terposting.
⚠️ Penghapusan: pelanggan yang sudah memiliki faktur penjualan tidak dapat dihapus — sistem menolak dengan pesan “Pelanggan ini memiliki faktur penjualan dan tidak dapat dihapus.” Nonaktifkan pelanggan tersebut sebagai gantinya.

Tanya jawab

  • Mengapa faktur pelanggan saya keluar sebagai faktur sederhana padahal nomor VAT sudah diisi? Alamat nasionalnya belum lengkap — isi jalan (atau alamat), no. gedung, kota dan kode pos, lalu terbitkan faktur lagi.
  • Dari mana akun buku besar pelanggan berasal? Posting masuk ke akun piutang yang dikonfigurasi di pengaturan akun komersial; Anda tidak perlu membuat akun buku besar per pelanggan secara manual.
  • Bisakah kode diubah nanti? Tidak — kode ditetapkan sekali saat pembuatan dan setelah itu hanya-baca.
  • Apa arti batas kredit 0? Kredit tanpa batas — pengaman batas kredit hanya bekerja bila batasnya lebih besar dari nol.

Wiraniaga

Rute: Penjualan › Wiraniaga/commercial/salesmen

Wiraniaga
Daftar wiraniaga

Fungsi: mendefinisikan tenaga penjual yang Anda tugaskan pada dokumen. Kolom wiraniaga tersedia pada penawaran, pesanan, surat jalan, faktur, retur dan nota debit, sehingga Anda mendapatkan angka penjualan per wiraniaga dalam laporan.

KolomDeskripsi
KodeDibuat otomatis, hanya-baca.
Nama ArabWajib.
Nama InggrisOpsional.
TeleponOpsional (isian angka).
AktifHanya pada mode edit. Wiraniaga nonaktif hilang dari semua pilihan pada dokumen tetapi tetap tercantum pada dokumen historis.
💡 Kiat: tetapkan wiraniaga bawaan pada kartu pelanggan — setiap dokumen baru untuk pelanggan itu akan memilihnya secara otomatis.

Tanya jawab

  • Seorang wiraniaga keluar dari perusahaan — apakah harus dihapus? Tidak; hilangkan centang Aktif. Riwayatnya tetap utuh dan namanya hilang dari daftar pilihan.
  • Mengapa seorang wiraniaga tidak muncul di dropdown faktur? Ia berstatus nonaktif — hanya wiraniaga aktif yang ditampilkan.

Editor dokumen — mekanisme bersama

Semua dokumen penjualan memakai satu tata letak editor yang sama: bilah alat, blok kolom header, kisi baris item, dan strip total yang diperbarui langsung. Pelajari sekali — perilakunya identik di mana pun.

Bilah alat dan status

ElemenPerilaku
Pil statusDraf — dapat diedit penuh; Disetujui / Terposting — terkunci hanya-baca.
BaruMengosongkan editor dan memulai dokumen baru (nomor berikutnya diberikan saat menyimpan).
SimpanMenyimpan dokumen sebagai draf — bisa diedit, bisa dihapus, belum berdampak pada stok/buku besar.
Setujui / PostingMenyimpan lalu mengunci dokumen. “Setujui” (penawaran, pesanan, surat jalan) hanya menguncinya dan mengaktifkan konversi; “Posting” (faktur, nota kredit, nota debit) selain itu juga menggerakkan stok dan menulis jurnal.
Cetak / UnduhPada dokumen terkunci: membuka pratinjau cetak A4 dwibahasa, atau menyimpannya sebagai PDF. Kedua aksi juga tampil sebagai ikon baris di setiap daftar.
Lihat jurnalPada dokumen finansial terposting: menampilkan jurnal Debit/Kredit yang dihasilkan dalam dialog beserta indikator seimbang/tidak seimbang.

Kisi baris

KolomPerilaku
#Nomor baris.
ItemDropdown yang dapat dicari. Memilih item mengisi satuan dasarnya dan harga jualnya (atau harga daftar harga pelanggan pada faktur).
SatuanSatuan dasar item beserta satuan alternatifnya (mis. karton = 12). Memilih satuan menghitung ulang harga baris dengan harga satuan tersebut; stok selalu bergerak dalam satuan dasar (qty × faktor).
KuantitasHingga 4 desimal; harus > 0 agar baris dapat disimpan.
TersediaPetunjuk hanya-baca: jumlah stok item di gudang terpilih (pada faktur: stok dikurangi kuantitas yang direservasi oleh pesanan penjualan yang disetujui). Berubah merah bila kuantitas yang dimasukkan melebihinya. Menampilkan “—” untuk item jasa.
Harga satuanDapat diedit; terisi awal dari item / daftar harga.
DiskonSatu sel dengan tombol pengalih %/nominal: masukkan persentase atau jumlah — keduanya selalu sinkron, dan persentase tetap melekat saat kuantitas atau harga berubah.
PPNTombol pengalih yang menampilkan jumlah dan tarif PPN baris (bawaan 15%). Klik untuk menjadikan baris bertarif nol (bebas pajak); klik lagi untuk mengembalikan tarif sebelumnya.
Total barisQty × harga − diskon baris (+ PPN jika harga dimasukkan neto).
Lacak (hanya faktur)Untuk item yang ditandai dengan kedaluwarsa/nomor seri: membuka dialog kedaluwarsa & nomor seri. Ikon label berwarna merah selama data belum lengkap, hijau bila sudah lengkap.
🗑Menghapus baris (hanya pada draf).
💡 Entri via keyboard: tekan Enter untuk berpindah dari sel ke sel; Enter pada sel terakhir baris terakhir menambahkan baris baru — Anda dapat merekam seluruh dokumen tanpa menyentuh mouse.

Strip total

  • Diskon tambahan — diskon di tingkat header dengan tombol pengalih %/nominal yang sama. Diskon ini didistribusikan ke baris-baris secara proporsional terhadap nilai neto masing-masing (baris terakhir menyerap sisa pembulatan), sehingga total di layar selalu sama dengan total di server.
  • Total diskon — semua diskon baris + diskon tambahan.
  • Subtotal — dasar pengenaan pajak neto setelah semua diskon (sebelum PPN).
  • Total PPN dan Total keseluruhan.
  • Harga termasuk PPN — kotak centang di header. Bila dicentang, harga yang dimasukkan dianggap sudah termasuk PPN dan pajaknya diekstrak dari harga; bila tidak, PPN ditambahkan di atasnya.
ℹ️ Contoh (harga termasuk PPN): satu baris, 10 × 11.50 dengan “Harga termasuk PPN” dicentang → subtotal 100.00, PPN 15.00, total 115.00 — persis 115.00 yang Anda ketik.

Penawaran penjualan

Rute: Penjualan › Penawaran Penjualan/commercial/sales-quotations

Penawaran
Daftar penawaran

Fungsi: penawaran berharga kepada pelanggan dengan tanggal berlaku opsional — sama sekali tanpa dampak pada stok maupun akuntansi. Saat disepakati, setujui lalu konversikan menjadi pesanan penjualan atau langsung menjadi faktur dengan satu klik.

Kolom header

KolomCatatan
TanggalBawaan hari ini.
Berlaku hinggaTanggal kedaluwarsa opsional, dicetak pada lembar penawaran.
PelangganWajib. Memilih pelanggan otomatis mengisi wiraniaga bawaannya.
GudangWajib (bawaan gudang default pengguna Anda) — mengendalikan kolom “Tersedia”.
Wiraniaga / Catatan / Harga termasuk PPNSeperti pada editor bersama.
  1. Pilih pelanggan dan (opsional) tanggal berlaku.
  2. Tambahkan item dengan kuantitas dan harga — harga jual item disarankan dan dapat diubah; terapkan diskon baris dan/atau diskon tambahan.
  3. Simpan mempertahankannya sebagai draf; Setujui menguncinya (status menjadi Disetujui).
  4. Pada penawaran yang disetujui: Cetak / Unduh PDF dwibahasa, atau tekan Konversi ke Pesanan Penjualan / Konversi ke Faktur — dokumen baru terbuka dengan pelanggan, gudang dan semua baris sudah terisi.

Contoh perhitungan: 2 baris — 10 × 50.00 dan 4 × 75.00, diskon 10% pada baris kedua, PPN 15%, harga neto: bruto 500.00 + 300.00 = 800.00; diskon 30.00; subtotal 770.00; PPN 115.50; total 885.50.

⚠️ Validasi: pelanggan, gudang dan minimal satu baris (item + kuantitas > 0) wajib ada. Hanya penawaran draf yang dapat diedit atau dihapus — “Penawaran yang telah disetujui tidak dapat dihapus.”

Tanya jawab

  • Apakah penawaran mereservasi stok? Tidak. Kolom Tersedia hanyalah petunjuk informasi.
  • Pelanggan setuju lewat telepon — apakah harus lewat pesanan dulu? Tidak; “Konversi ke Faktur” menerbitkan faktur langsung dari penawaran.
  • Bisakah penawaran yang kedaluwarsa dipakai lagi? Ya — konversi tidak diblokir oleh tanggal berlaku; tanggal itu hanyalah indikasi komersial bagi pelanggan.

Pesanan penjualan

Rute: Penjualan › Pesanan Penjualan/commercial/sales-orders

Pesanan penjualan
Daftar pesanan penjualan

Fungsi: mengunci pesanan pelanggan yang sudah pasti. Statusnya DrafDisetujui; persetujuan membuat pesanan dapat dikonversi menjadi surat jalan atau faktur, dan — yang penting — mereservasi kuantitasnya: kolom “Tersedia” di editor faktur menampilkan stok dikurangi apa yang sudah dijanjikan pesanan-pesanan yang disetujui kepada pelanggan lain.

Header dan kisi baris identik dengan penawaran (tanggal, pelanggan, gudang, wiraniaga, catatan, opsi harga termasuk PPN; tanpa tanggal berlaku). Pesanan yang dibuat dari penawaran menyimpan penawaran sumbernya untuk keterlacakan.

Pengiriman parsial

  1. Setujui pesanan, lalu tekan Konversi ke Surat Jalan — surat jalan terbuka dengan seluruh baris pesanan terisi.
  2. Untuk pengiriman parsial, kurangi kuantitas (atau hapus baris) sebelum menyetujui surat jalan.
  3. Untuk pengiriman berikutnya, konversi lagi dari pesanan yang sama dan sisakan hanya kuantitas yang tersisa — setiap konversi mengisi baris pesanan secara penuh, jadi sesuaikan dengan yang benar-benar dikirim.
  4. Fakturkan setiap pengiriman (atau seluruh pesanan sekaligus) dengan Konversi ke Faktur.

Contoh perhitungan: pesanan 100 × 20.00 dengan diskon tambahan 5%, PPN 15%: bruto 2,000.00; diskon tambahan 100.00; subtotal 1,900.00; PPN 285.00; total 2,185.00. Surat jalan pertama: 60 unit; kedua: 40 unit — masing-masing menjadi fakturnya sendiri.

⚠️ Aturan: hanya pesanan draf yang dapat diedit atau dihapus; pesanan yang disetujui terkunci. Persetujuan membutuhkan pelanggan + gudang + minimal satu baris valid.

Tanya jawab

  • Apakah pesanan yang disetujui menggerakkan stok? Tidak — ia hanya mereservasi kuantitas pada petunjuk ketersediaan faktur. Stok baru bergerak fisik saat faktur diposting.
  • Bisakah satu pesanan dikonversi menjadi beberapa faktur? Ya — ulangi “Konversi ke Faktur” dan ubah kuantitasnya setiap kali.
  • Di mana saya melihat bahwa pesanan berasal dari penawaran? Tautannya disimpan pada pesanan saat pembuatan (keterlacakan); sumbernya tampil di informasi kaki dokumen.

Surat jalan

Rute: Penjualan › Surat Jalan/commercial/delivery-notes

Surat jalan
Daftar surat jalan

Fungsi: dokumen pengiriman yang menyertai barang ke pelanggan sebelum penagihan — biasanya dibuat dari pesanan penjualan yang disetujui (Konversi ke Surat Jalan), atau dibuat langsung. Ia mendokumentasikan apa yang keluar, kapan, dan untuk siapa, dan menjadi berkas yang ditandatangani sopir dan pelanggan.

⚠️ Akuntansi & stok: menyetujui surat jalan tidak menggerakkan stok dan tidak membuat jurnal. Pengeluaran stok dan jurnal pendapatan keduanya terjadi saat faktur penjualan diposting. Jika Anda mengirim harian dan menagih bulanan, ingatlah bahwa stok fisik di rak lebih rendah dari stok sistem sampai faktur-fakturnya diposting.

Tata letak editor, kolom dan kisinya sama dengan pesanan penjualan. Status: Draf (dapat diedit/dihapus) → Disetujui (terkunci). Surat jalan yang disetujui menyediakan Cetak / Unduh dan Konversi ke Faktur, yang mengisi faktur dengan pelanggan, gudang dan baris surat jalan tersebut.

  1. Buat surat jalan dari pesanan yang disetujui (kuantitas terisi otomatis) atau tambahkan baris secara manual.
  2. Sesuaikan kuantitas dengan yang benar-benar dikirim lalu Setujui.
  3. Cetak dua salinan — satu salinan yang ditandatangani kembali bersama sopir.
  4. Saat waktunya menagih, buka surat jalan yang disetujui dan tekan Konversi ke Faktur.

Contoh perhitungan: pengiriman 60 × 20.00, PPN 15%: subtotal 1,200.00; PPN 180.00; total 1,380.00 — angka-angka ini tampil sebagai referensi pada surat jalan; tidak ada yang diposting sampai fakturnya.

Tanya jawab

  • Mengapa stok saya tidak berkurang setelah surat jalan disetujui? Memang begitu desainnya — stok dikeluarkan saat posting faktur, bukan saat persetujuan pengiriman.
  • Bisakah satu surat jalan melayani beberapa faktur? Konversi menghasilkan satu faktur per proses; untuk penagihan terpisah, sesuaikan baris faktur setelah konversi.
  • Bisakah surat jalan yang disetujui dihapus? Tidak — “Surat jalan yang telah disetujui tidak dapat dihapus.” Hanya draf yang dapat diedit/dihapus.

Faktur penjualan

Rute: Penjualan › Faktur Penjualan/commercial/sales-invoices

Faktur penjualan
Daftar faktur dengan status ZATCA

Fungsi: dokumen sentral modul ini — faktur pajak (standar B2B atau sederhana B2C) yang memenuhi persyaratan ZATCA. Posting-nya adalah saat stok keluar dari gudang dan pendapatan dibukukan.

Faktur penjualan baru
Faktur penjualan baru

Kolom header

KolomCatatan
TanggalTanggal faktur; juga menentukan kebijakan diskon mana yang berlaku.
CabangCabang posting; terkunci otomatis jika izin Anda dibatasi pada satu cabang.
PelangganWajib. Memilih pelanggan menyalin nilai bawaannya: metode pembayaran, wiraniaga, harga daftar harga, dan kebijakan diskon yang aktif pada tanggal faktur.
GudangWajib (bawaan gudang default pengguna Anda). Mengendalikan kolom “Tersedia” dan menjadi tempat stok dikeluarkan.
WiraniagaOpsional; terisi awal dari pelanggan atau dari nilai bawaan pengguna Anda.
Metode pembayaranTunai / Kredit. Faktur kredit diperiksa terhadap batas kredit pelanggan saat posting.
Mata uang & kursPemilih mata uang dengan nilai tukar — jurnal dikonversi dengan kurs ini.
Catatan / Harga termasuk PPNSeperti pada editor bersama.

Membuat dan mem-posting

  1. Pilih pelanggan — atau masuk dengan data terisi dari penawaran, pesanan atau surat jalan yang disetujui (konversi), atau dari Salin faktur yang sudah ada.
  2. Pilih gudang dan pastikan metode pembayaran.
  3. Tambahkan item. Perhatikan kolom Tersedia (stok − reservasi); ia berubah merah jika Anda menjual lebih dari yang tersedia.
  4. Untuk item yang dilacak dengan kedaluwarsa/nomor seri, buka dialog Lacak di setiap baris: pilih nomor seri dari registri stok (atau ketikkan — satu per baris; jumlahnya harus sama dengan qty × faktor satuan). Label tetap merah sampai lengkap.
  5. Tinjau strip total (diskon baris, diskon tambahan, PPN, neto).
  6. Posting. Sistem kemudian, secara berurutan: memeriksa gerbang persetujuan (nilai besar mungkin memerlukan persetujuan manajer), memeriksa batas kredit (faktur kredit), mengeluarkan stok dengan biaya rata-rata tertimbang (diblokir jika tidak mencukupi), menandai nomor seri sebagai Terjual, menulis jurnal, dan — jika “Kirim otomatis ke ZATCA saat posting” diaktifkan — menandatangani dan melaporkan faktur.
  7. Cetak format faktur pajak dengan kode QR yang sesuai ketentuan, atau unduh sebagai PDF.

Contoh perhitungan — matematika lengkap

Faktur dengan 3 baris, harga sebelum PPN, diskon 5% pada baris 1, diskon tambahan 100.00, PPN 15%:

BarisQty × HargaBrutoDisk. barisPorsi disk. tambahanKena pajakPPN 15%
Item A10 × 50.00500.005% = 25.0038.78436.2265.43
Item B3 × 200.00600.0048.98551.0282.65
Item C5 × 30.00150.0012.24137.7620.66
Total1,250.0025.00100.001,125.00168.75

Strip total: total diskon 125.00, subtotal 1,125.00, PPN 168.75, total keseluruhan 1,293.75. Diskon tambahan disebar ke baris-baris secara proporsional terhadap netonya; baris terakhir menyerap sisa pembulatan.

Jurnal yang dihasilkan (asumsikan harga pokok barang 700.00 dengan rata-rata tertimbang):

AkunDebitKredit
Piutang usaha1,293.75
Pendapatan penjualan1,125.00
PPN keluaran168.75
Harga pokok penjualan700.00
Persediaan700.00

Setelah posting — pelunasan dan ZATCA

  • Chip Dibayar / Sisa menampilkan status pelunasan; daftar memiliki kolom Pelunasan (Lunas / Sebagian / Belum dibayar).
  • QuickPay (di editor dan sebagai aksi baris daftar) menerima pembayaran saat itu juga: jumlah (terisi awal dengan sisanya), instrumen (Tunai / Transfer bank) dan kas atau rekening bank — ia membuat dan mem-posting bukti penerimaan dalam satu langkah.
  • Kotak ZATCA menampilkan status e-faktur: “Belum dikirim” dengan tombol Tanda tangani & kirim ke ZATCA, atau status balasan beserta QR yang dapat dipindai setelah diterima.
  • Lihat jurnal membuka jurnal Debit/Kredit yang dihasilkan.

Aksi baris daftar

AksiTersedia saatEfek
✏️ Edit / bukaSelaluDraf terbuka dapat diedit; yang terposting terbuka hanya-baca.
🖨 Cetak / ⬇ UnduhTerpostingLembar faktur pajak dwibahasa dengan QR.
↩ Batalkan postingTerpostingMembalik jurnal dan pergerakan stok lalu mengembalikan faktur menjadi draf — setelah konfirmasi.
👛 QuickPayTerposting & belum lunas penuhMenerima pembayaran terhadap faktur.
⧉ SalinSelaluMembuka draf baru yang terisi dengan syarat header dan baris faktur ini (nomor baru saat disimpan).
🗑 HapusHanya drafMenghapus draf; “Faktur penjualan yang telah diposting tidak dapat dihapus.”

Kesalahan validasi & kekeliruan umum

Pesan / gejalaPenyebab & solusi
Notifikasi kolom wajib saat SimpanPelanggan, gudang atau baris belum ada — sebuah baris hanya dihitung bila memiliki item dan kuantitas > 0.
Posting diblokir: stok tidak mencukupiAnda menjual lebih dari stok yang ada di gudang itu. Terima stok dulu, transfer masuk, atau kurangi kuantitasnya. Ingat satuan alternatif berlipat (2 karton × 12 = 24 satuan dasar).
“Batas kredit terlampaui untuk …: saldo akan mencapai X terhadap batas Y”Sebuah faktur kredit akan membuat saldo berjalan melewati batas pelanggan. Terima pembayaran, jual tunai, atau naikkan batasnya.
Kesalahan jumlah nomor seri saat postingBaris berseri harus membawa tepat qty × faktor nomor seri, dan masing-masing berstatus Dalam-Stok di gudang faktur.
“Hanya faktur penjualan draf yang dapat diedit.”Faktur terposting tidak dapat diubah — batalkan posting dulu (jika diizinkan) atau koreksi dengan nota kredit/debit.
Pembatalan posting ditolakDua penghalang: faktur sudah dilaporkan ke ZATCA (tidak dapat diubah menurut hukum — gunakan nota kredit), atau memiliki penerimaan terposting (hapus/batalkan posting-nya lebih dulu).
⚠️ Mengedit faktur terposting: faktur yang telah diterima ZATCA tidak boleh diubah sama sekali — koreksilah dengan retur (nota kredit) atau nota debit yang tertaut. Pembatalan posting hanya mungkin selama faktur belum dilaporkan dan belum dibayar.

Tanya jawab

  • Dari mana harga berasal? Daftar harga pelanggan lebih dulu, lalu harga jual item; mesin promosi menerapkan kebijakan diskon aktif terbaik (cakupan item mengalahkan kategori, kategori mengalahkan semua-item) sebagai diskon baris.
  • Apakah faktur tunai otomatis menerima uangnya? Tidak — “Tunai” hanyalah istilah komersial di lembar faktur. Gunakan QuickPay segera setelah posting untuk membuat-dan-mem-posting penerimaan dalam satu klik.
  • Mengapa Tersedia berbeda dengan layar stok? Petunjuk pada faktur mengurangi kuantitas yang direservasi oleh pesanan penjualan yang disetujui.
  • Menjual jasa? Item jasa menampilkan “—” di Tersedia dan tidak pernah menggerakkan stok; hanya jurnal pendapatan yang diposting.

Retur penjualan (nota kredit)

Rute: Penjualan › Retur Penjualan/commercial/sales-returns

Retur penjualan
Daftar retur penjualan

Fungsi: pengembalian penuh atau sebagian atas barang yang telah dijual. Retur selalu merujuk pada faktur penjualan yang terposting — inilah nota kredit resmi (tipe ZATCA 381) yang tertaut kepadanya.

Membuat retur — impor dari faktur

  1. Buat retur baru. Kotak Faktur asal menampilkan semua faktur terposting — pilih salah satu.
  2. Baris-baris faktur dimuat secara penuh dan pelanggan, wiraniaga serta metode pembayaran diwariskan.
  3. Untuk retur sebagian: turunkan kuantitas atau hapus baris yang tidak dikembalikan. Untuk retur penuh: biarkan semuanya seperti saat dimuat.
  4. Isi Alasan retur (dianjurkan — dicetak pada nota), pilih cabang lalu Posting.
  5. Pada nota yang terposting: Cetak / Unduh lembar nota kredit, lihat jurnalnya, dan Tanda tangani & kirim ke ZATCA jika pengiriman otomatis dimatikan.

Efek posting: barang masuk kembali ke gudang dengan biaya rata-rata tertimbang saat ini milik item, nomor seri yang dikembalikan berbalik ke status Dalam-Stok, dan jurnal kebalikan dari penjualan ditulis.

Contoh perhitungan: retur 2 × 200.00 dari faktur di atas (PPN 15%): subtotal 400.00, PPN 60.00, total 460.00; harga pokok barang 220.00.

AkunDebitKredit
Pendapatan penjualan400.00
PPN keluaran60.00
Piutang usaha460.00
Persediaan220.00
Harga pokok penjualan220.00
⚠️ Aturan: hanya faktur terposting yang dapat diretur; hanya nota draf yang dapat diedit atau dihapus; nota terposting terkunci dan, begitu dikirim, dilaporkan ke ZATCA sebagai nota kredit yang merujuk faktur asal.

Tanya jawab

  • Bisakah saya meretur lebih banyak daripada yang difakturkan? Masukkan hanya yang benar-benar kembali; nota ini adalah bukti hukum Anda terhadap faktur asal — jaga kuantitas di dalam batasnya.
  • Pelanggan sudah membayar — bagaimana dengan uangnya? Nota kredit mengurangi piutang; selesaikan selisihnya dengan bukti pengeluaran kas atau biarkan sebagai kredit untuk faktur berikutnya.
  • Item bernomor seri? Nomor seri yang dikembalikan disebutkan pada baris dan masuk kembali ke registri seri dengan status Dalam-Stok.
  • Biaya mana yang dipakai untuk barang retur? Biaya rata-rata tertimbang item saat retur, bukan biaya pada faktur asal.

Nota debit penjualan

Rute: Penjualan › Nota Debit Penjualan/commercial/sales-debit-notes

Nota debit
Daftar nota debit

Fungsi: membebankan tagihan tambahan kepada pelanggan setelah faktur diterbitkan — selisih harga, ongkos kirim, denda… Ia merujuk faktur terposting (tipe ZATCA 383) tetapi, berbeda dengan retur, tidak menggerakkan stok.

  1. Buat nota debit baru dan pilih faktur asal yang terposting — pelanggan dan referensi diwariskan, tetapi kisi baris dimulai kosong.
  2. Tambahkan baris beban tambahan secara manual (mis. item jasa “Ongkos kirim”), dengan PPN sebagaimana berlaku.
  3. Isi alasannya, lalu Posting — dan kirim ke ZATCA seperti halnya faktur.

Contoh perhitungan: ongkos kirim 200.00 + PPN 15% = 230.00. Jurnal: Debit Piutang usaha 230.00 / Kredit Pendapatan penjualan 200.00 / Kredit PPN keluaran 30.00 — arah yang sama dengan penjualan, tanpa baris persediaan.

⚠️ Aturan: “Hanya faktur penjualan terposting yang dapat memiliki nota debit.” Draf dapat diedit/dihapus; nota terposting terkunci.

Tanya jawab

  • Nota debit atau faktur baru? Gunakan nota debit bila beban itu milik faktur yang sudah ada (koreksi harga, ongkos kirim pengiriman itu); gunakan faktur baru untuk penjualan baru.
  • Mengapa saya tidak bisa menambahkan item stok yang menggerakkan kuantitas? Nota debit memang tidak pernah menggerakkan stok — ia murni beban finansial.
  • Apakah memengaruhi saldo pelanggan? Ya — nota debit terposting menambah saldo berjalan (dan masuk dalam perhitungan batas kredit).

Kirim faktur ke ZATCA

Rute: Penjualan › Kirim Faktur ke ZATCA/commercial/zatca-send

Pengiriman ZATCA
Layar pengiriman massal ke ZATCA

Fungsi: ruang kendali e-faktur. Saring faktur terposting berdasarkan status kirim (bawaan: Belum dikirim) dan rentang tanggal, pilih beberapa sekaligus dan kirim dalam satu batch — batch ditandatangani dan dikirim secara berurutan agar rantai hash PIH tetap utuh.

Elemen layar

ElemenPerilaku
Filter statusSemua / Terkirim / Belum dikirim (bawaan Belum dikirim) + tanggal Dari/Sampai + Segarkan.
Kolom kotak centangHanya baris yang belum dikirim yang dapat dipilih; kotak centang header memilih semua baris yang dapat dikirim. Bilah alat menampilkan jumlah yang dipilih.
Kirim ke ZATCAMenandatangani dan melaporkan setiap faktur yang dipilih. Notifikasi sukses bila semua lolos; jika tidak, “Sebagian faktur tidak dapat dikirim (n/m)” beserta kesalahan pertama.
Kolom kisiGudang, no. faktur (klik untuk membuka faktur), tanggal, pelanggan, subtotal, PPN, total, status, dikirim oleh, tanggal kirim, respons.
Lencana statusHijau = diterima (menampilkan status otoritas), merah/abu-abu = belum dikirim atau upaya terakhir gagal.
Tombol responsMembuka respons mentah ZATCA (JSON) — pesan validasi persis dari otoritas.

Status ZATCA

StatusArti
Belum dikirimTerposting secara lokal, belum dilaporkan. Kirim dari sini atau dari kotak ZATCA di faktur.
CLEAREDFaktur standar (B2B) diterima dan disahkan otoritas.
REPORTEDFaktur sederhana (B2C) berhasil dilaporkan.
Teks kesalahanUpaya gagal — baris tetap “Belum dikirim”, status/respons memuat alasannya. Perbaiki dan kirim ulang.

Memperbaiki penolakan

  1. Buka dialog Respons dan baca pesan validasinya (kode BR-… menyebut aturan yang gagal).
  2. Penyebab umum: alamat nasional pembeli tidak lengkap pada faktur B2B (tambahkan kota/kode pos/no. gedung ke kartu pelanggan), nomor VAT pembeli tidak valid (15 digit, diawali/diakhiri angka 3), atau perusahaan belum onboarding (“selesaikan langkah-langkah e-faktur”).
  3. Perbaiki data master — faktur itu sendiri dibangun ulang dari data terkini saat dikirim — lalu pilih barisnya dan tekan Kirim ke ZATCA lagi.
  4. Jika angka fakturnya sendiri yang salah, jangan mencoba mengeditnya: terbitkan nota kredit (dan faktur baru bila diperlukan).
ℹ️ Pengaman: hanya dokumen terposting yang dapat dikirim; dokumen yang sudah dikirim ditolak (“sudah dikirim ke ZATCA sebelumnya”); nota kredit dan debit ditandatangani dari layar masing-masing dengan tipe 381/383 yang merujuk faktur asal.
ℹ️ Onboarding: sertifikat (kepatuhan lalu produksi) dikelola di layar E-Faktur pada bagian Administrasi. Aktifkan “Kirim otomatis ke ZATCA saat posting” di sana agar layar ini tidak diperlukan sama sekali dalam pekerjaan harian — ia lalu berfungsi sebagai konsol pemantauan dan pengiriman ulang.

Tanya jawab

  • Mengapa batch dikirim satu per satu? Hash setiap faktur berantai ke faktur sebelumnya (PIH); pengiriman paralel akan memutus rantainya.
  • Satu faktur gagal di tengah batch — apakah yang lain hangus? Tidak; setiap hasil bersifat individual. Perbaiki yang gagal dan kirim ulang sendirian.
  • Bisakah pengiriman faktur dibatalkan? Tidak. Begitu diterima ZATCA, faktur tidak dapat diubah — koreksi dilakukan lewat nota kredit/debit.

Pertanyaan umum

Bagaimana membuat faktur penjualan?

Buka Penjualan › Faktur › Baru, pilih pelanggan, tambah baris item dengan jumlah dan harga, atur PPN dan diskon, lalu Simpan dan Posting untuk mencatat pendapatan.

Bisakah mengedit/menghapus faktur?

Faktur draf bisa diedit bebas. Setelah di-posting, edit terkunci; Anda membalik atau menerbitkan nota kredit alih-alih menghapus.

Bagaimana PPN/ZATCA ditangani?

PPN dihitung per baris dari tarif pajak item, dan faktur yang di-posting menghasilkan e-faktur ZATCA otomatis saat Fase 2 aktif.

Bagaimana pembayaran terhubung?

Catat voucher penerimaan untuk pelanggan; Anda dapat mengalokasikannya ke satu atau lebih faktur terbuka untuk melunasi saldo.