Banner: OCR untuk Invoice

Membangun Pipeline OCR untuk Invoice

Pipeline OCR untuk invoice yang andal tidak berhenti di “baca teks”—kuncinya justru pada layout detection dan post-processing berbasis aturan bisnis agar data benar-benar siap pakai.

Gambaran Umum Pipeline

  1. Intake: unggah PDF/JPG → ekstrak halaman.
  2. Pre-processing: deskew, denoise, binarisasi adaptif.
  3. Layout detection: temukan header, tabel item, total, tax, dst.
  4. OCR: ekstraksi teks per blok/region.
  5. Post-processing: normalisasi angka/tanggal, regex, fuzzy match.
  6. Validasi: cross-check ke master data/vendor/PO.
  7. Output: JSON terstruktur + confidence per field.
  8. Monitoring: metrik akurasi & anomali untuk perbaikan.

Pre-processing Gambar

  • Deskew & crop margin agar teks lurus & rapat.
  • Adaptive threshold untuk latar tidak rata.
  • Morphology (open/close) untuk mengikis noise.
  • Sharpen ringan bila huruf tampak “bleeding”.
  • Resize ke DPI cukup (mis. 300) agar karakter jelas.
Hindari over-processing—terlalu agresif bisa merusak bentuk huruf dan menurunkan akurasi.

Deteksi Layout & Field

Invoice berbeda-beda. Gunakan model layout/segmentasi atau rule heuristik untuk memetakan:

  • Header (nomor invoice, tanggal, vendor),
  • Tabel item (deskripsi, qty, price, amount),
  • Subtotal, pajak, total, mata uang.

Hasil layout membatasi area OCR sehingga lebih akurat dan cepat.

Memilih Engine OCR

  • Dukungan bahasa (ID/EN) & variasi font.
  • Kualitas tabel & pemisahan kolom.
  • Kecepatan dan konsumsi memori (edge vs server).
  • Confidence per token/field untuk penanganan fallback.

Praktiknya, gabungkan text-OCR + layout model untuk hasil yang stabil.

Post-processing & Validasi

  • Normalisasi: format tanggal, desimal, mata uang.
  • Regex untuk nomor invoice, NPWP, kode vendor.
  • Fuzzy match nama vendor ke master data.
  • Rekonsiliasi: jumlah baris tabel = subtotal + pajak = total.
  • Confidence threshold & rules untuk flag manual review.

Metrik Akurasi

  • Character/word accuracy (level global).
  • Field-level accuracy (per key field: nomor, tanggal, total).
  • Table extraction accuracy (jumlah baris/kolom, angka tepat).
  • Operasional: latensi, throughput, dan % manual review.

Targetkan metrik yang terkait langsung ke KPI bisnis (waktu input ↓, error ↓).

Integrasi & Operasional

  • API (REST/gRPC) untuk submit file & ambil JSON hasil.
  • Queue untuk beban tinggi + retry & dead-letter.
  • Observabilitas: log, metrics, tracing, alert.
  • Keamanan: enkripsi at-rest/in-transit, retensi, masking PII.
  • Loop perbaikan: active learning dari kasus gagal.

FAQ Singkat

PDF digital vs hasil scan? PDF digital bisa diekstrak teksnya langsung; scan butuh OCR penuh—pre-processing makin penting.

Seberapa banyak data dibutuhkan? Mulai dari ratusan contoh per vendor utama; tambahkan saat menemukan variasi baru.

Apakah perlu GPU? Tergantung model layout/ocr. Untuk throughput tinggi atau model besar, GPU membantu; untuk beban ringan, CPU cukup.

OCR Dokumen Invoice Data Extraction