Backend (app-pfm-ocr-v2/backend): - Product/SKU scan feature complete: trained DINOv2 index (118 reference photos, 16 SKU classes) and YOLO classifier (83.3% top-1 val accuracy), fixed scripts/install-pipeline.sh (was missing ultralytics/torch), fully browser-verified end-to-end on /scan-pfm. Mobile m-scan-pfm page cancelled (Flutter app handles mobile; web UI is desktop-only for pipeline testing). - Fixed a real data-loss bug: Save Ground Truth (scan-pfm and the DO-flow's manual-label) was silently writing into the pfm-web-app container's ephemeral filesystem instead of the host, because /sources wasn't bind-mounted in docker-compose.yml. Added the mount, recovered an orphaned entry. - accounts.password is now bcrypt-hashed (bcryptjs, idempotent migration in db/init.ts) instead of plaintext; login route compares hashes. - /api/v1/documents/* (list, PUT, upload) now enforces real 401 auth, matching what the Flutter client already sends. The "classic" routes deliberately stay open — they're dev-only web UI with no login flow and won't exist in production. - OCR accuracy investigated end-to-end: real baseline is 95.10% overall (target met; accuracy_report.md was stale at 75.04%, now flagged). Fixed one genuine parser.ts bug (SO/DO field duplication in the global fallback regex); remaining gaps are OCR/layout-model limitations, not parser bugs. - Adopted a standalone copy of the fhanyuh/agents-settings e/n workflow scoped to backend/ (AGENTS.md Part A/B split, SKILLS.md, plans/, docs/), independent of the root copy which now covers Flutter only. - next-implementation.md deleted; content folded into backend/plans/next-enhancements.md for traceability. Root: - Adopted fhanyuh/agents-settings kit (AGENTS.md, SKILLS.md, plans/, docs/feature-list.md), scoped to the Flutter app only. - Pending documents queue now persists to Hive (lib/core/storage) instead of memory-only, surviving an app kill mid-upload. Removed backend_backup/ (stale Express/Prisma prototype, superseded by pfm-web-app) and the completed plans/next-enhancement-plan.md checklist. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
249 KiB
OCR Batch Test Report
Generated: 2026-07-03T09:42:29.584Z API:
http://localhost:8000/api/parseImages: 37 files frombackend/sources/test-images/
Summary
| # | Filename | Status | Tilt | Unwarped | DO | PO | Items |
|---|---|---|---|---|---|---|---|
| 1 | 1782870899198-sample_do.jpeg |
✅ success | 1.29° | Yes | 1659980277 |
PO/26/0000230828 |
5 |
| 2 | 1782884664859-rotated_1782884661516_rotated_1782884658097_rotated_1782884654697_CAP5956452738616729026.jpg |
✅ success | 0.06° | No | 1659932080 |
PO/26/0000178435 |
1 |
| 3 | 1782888127716-CAP6161747431193129837.jpg |
✅ success | 7.14° | Yes | 1659990561 |
PO/26/0000241938 |
1 |
| 4 | 1782888211457-rotated_1782888204591_rotated_1782888199962_rotated_1782888195402_CAP7202641176939787142.jpg |
✅ success | 0° | No | 1659990561 |
PO/26/0000241938 |
1 |
| 5 | 1782888609885-rotated_1782888593813_1000000454.jpg |
✅ success | 22.84° | Yes | Not Found |
PO/26/0000238723 |
6 |
| 6 | 1782890303600-1000000465.jpg |
✅ success | 17.41° | Yes | 1659990583 |
PO/26/0000241302 |
8 |
| 7 | 1782892728794-1000000466.jpg |
✅ success | 10.1° | Yes | 1659990583 |
PO/26/0000241302 |
1 |
| 8 | IMG_20260630_145445.jpg |
✅ success | 10.71° | Yes | 1057745004 |
PO/26/0000170727 |
1 |
| 9 | IMG_20260701_134446.jpg |
✅ success | 0° | No | Not Found |
Not Found |
1 |
| 10 | IMG_20260701_134504.jpg |
✅ success | 14.75° | Yes | 1659990584 |
PO/26/0000241303 |
1 |
| 11 | IMG_20260701_134555.jpg |
✅ success | 0.15° | No | 2272290022 |
PO/26/0000241304 |
1 |
| 12 | IMG_20260701_134555~2.jpg |
✅ success | 0.22° | No | 2272290022 |
PO/26/0000241304 |
1 |
| 13 | IMG_20260701_134646~2.jpg |
✅ success | 0.57° | No | 1659980277 |
PO/26/0000230199 |
5 |
| 14 | IMG_20260701_134810.jpg |
✅ success | 0° | No | Not Found |
Not Found |
6 |
| 15 | Sample DO PFM-page-00001.jpg |
✅ success | 0.08° | No | 1659905109 |
PO/26/0000150175 |
1 |
| 16 | Sample DO PFM-page-00002.jpg |
✅ success | 0° | No | 1659897809 |
PO/26/0000142266 |
2 |
| 17 | Sample DO PFM-page-00003.jpg |
✅ success | 0.14° | No | 1659897396 |
PO/26/0000142693 |
2 |
| 18 | Sample DO PFM-page-00004.jpg |
✅ success | 0.02° | No | 1659892421 |
PO/26/0000137547 |
3 |
| 19 | Sample DO PFM-page-00005.jpg |
✅ success | 0.04° | No | 1659886692 |
PO/26/0000131178 |
8 |
| 20 | Sample DO PFM-page-00006.jpg |
✅ success | 3.25° | Yes | 1659895333 |
PO/26/0000140625 |
4 |
| 21 | Sample DO PFM-page-00007.jpg |
✅ success | 0.18° | No | 1659896184 |
PO/26/0000140731 |
8 |
| 22 | Sample DO PFM-page-00008.jpg |
✅ success | 0.17° | No | 1659927197 |
PO/26/0000172403 |
3 |
| 23 | Sample DO PFM-page-00009.jpg |
✅ success | 0° | No | 1659919748 |
PO/26/0000164942 |
5 |
| 24 | Sample DO PFM-page-00010.jpg |
✅ success | 0° | No | 1659920402 |
PO/26/0000166040 |
4 |
| 25 | Sample DO PFM-page-00011.jpg |
✅ success | 15.19° | Yes | 1659921089 |
PO/26/0000166510 |
7 |
| 26 | Sample DO PFM-page-00012.jpg |
✅ success | 0.15° | No | 1659920441 |
PO/26/0000166127 |
4 |
| 27 | Sample DO PFM-page-00013.jpg |
✅ success | 0.06° | No | 1659922449 |
PO/26/0000168198 |
8 |
| 28 | Sample DO PFM-page-00014.jpg |
✅ success | 0° | No | 1659881372 |
PO/26/0000125459 |
4 |
| 29 | Sample DO PFM-page-00015.jpg |
✅ success | 0° | No | 1659876922 |
PO/26/0000120972 |
3 |
| 30 | Sample DO PFM-page-00016.jpg |
✅ success | 0.06° | No | 1659878594 |
PO/26/0000122470 |
2 |
| 31 | Sample DO PFM-page-00017.jpg |
✅ success | 0° | No | 1659877509 |
PO/26/0000121957 |
2 |
| 32 | Sample DO PFM-page-00018.jpg |
✅ success | 3.11° | Yes | 1659898844 |
PO/26/0000143236 |
5 |
| 33 | Sample DO PFM-page-00019.jpg |
✅ success | 4.31° | Yes | 1659880471 |
PO/26/0000124386 |
4 |
| 34 | Sample DO PFM-page-00020.jpg |
✅ success | 0° | No | 1659889989 |
PO/26/0000135032 |
1 |
| 35 | Sample DO PFM-page-00021.jpg |
✅ success | 0° | No | 1659877015 |
PO/26/0000121086 |
3 |
| 36 | Sample DO PFM-page-00022.jpg |
✅ success | 0° | No | 1659896184 |
PO/26/0000140731 |
3 |
| 37 | Sample DO PFM-page-00023.jpg |
✅ success | 0.05° | No | 165992/2449 |
PO/26/0000168198 |
1 |
Stage-by-Stage Results
1. 1782870899198-sample_do.jpeg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
1.29° - Auto-unwarped:
Yes
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
<div style="text-align: center;"><img src="imgs/img_in_image_box_3_5_409_267.jpg" alt="Image" width="31%" /></div>
terima oleh Disesahkan oleh
ESIA TDK
KAWASHI BANTEN
ERN
02:56:41
Kepada : Kepala Gudang
Tanggal:
No.SO : 23 June 2026
No. DO : 1691960321
00168133
No. PO : 1659980277
## DELIVERY ORDER
P0/26/0000230828
Kepada Yth Order Untuk : PT.PRIMAFOOD INTERNATIONAL
Alamat : DKI AREA
JL. ANCOL BARAT VIII/1. ANCOL. PADEMANGAM.
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>JAKARTA UTARA, 1430\nJAKARTA UTA RA Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>Griller Size 2 ( 20 Ekor ) Frozen</td><td style='text-align: center; word-wrap: break-word;'>2 KRG</td><td style='text-align: center; word-wrap: break-word;'>40 PC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310014</td><td style='text-align: center; word-wrap: break-word;'>Griller Size A Frozen (900-1000 g) PC</td><td style='text-align: center; word-wrap: break-word;'>2 KRG</td><td style='text-align: center; word-wrap: break-word;'>40 PC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310024</td><td style='text-align: center; word-wrap: break-word;'>SBL Mitra 10 kg</td><td style='text-align: center; word-wrap: break-word;'>1 BOX</td><td style='text-align: center; word-wrap: break-word;'>10 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11620056</td><td style='text-align: center; word-wrap: break-word;'>SBB Mitra 10 kg</td><td style='text-align: center; word-wrap: break-word;'>1 BOX</td><td style='text-align: center; word-wrap: break-word;'>10 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11690053</td><td style='text-align: center; word-wrap: break-word;'>Full Wing Frozen Pack</td><td style='text-align: center; word-wrap: break-word;'>1 BOX</td><td style='text-align: center; word-wrap: break-word;'>10 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11720055</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td colspan="2">Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>83 110</td></tr><tr><td colspan="4">Truck No. B 9427 UXT PX HEAD OFFICE ANCOL : JL. ANCOL BARAT VIII NO. 1 JAKARTA UTA RA IDN</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Penerima Barang</td><td style='text-align: center; word-wrap: break-word;'>Tanda Tangan Supir</td><td style='text-align: center; word-wrap: break-word;'>Bag. Pengeluaran Barang</td><td style='text-align: center; word-wrap: break-word;'>Bagian Penjualan</td></tr></table>
Lembar 3 : Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas. kekurangan barang tidak dapat kami layani
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659980277 - noPO:
PO/26/0000230828 - noSO:
1691960321 - tanggal:
23 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9427 UXT
Raw items (6 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 2 KRG | 40 PC |
| 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 2 KRG | 40 PC |
| 11620056 | SBL (FILLET PAHA) 1 KG(*) | 1 BOX | 10 KG |
| 11690053 | SBB (FILLET DADA )1 KG(*) | 1 BOX | 10 KG |
| 11720055 | FULL WING FROZ PACK 1 KG(*) | 1 BOX | 10 KG |
| Truck No. B 9427 UXT PX HEAD OFFICE ANCOL : JL. ANCOL BARAT VIII NO. 1 JAKARTA UTA RA IDN | Truck No. B 9427 UXT PX HEAD OFFICE ANCOL : JL. ANCOL BARAT VIII NO. 1 JAKARTA UTA RA IDN | Truck No. B 9427 UXT PX HEAD OFFICE ANCOL : JL. ANCOL BARAT VIII NO. 1 JAKARTA UTA RA IDN | Truck No. B 9427 UXT PX HEAD OFFICE ANCOL : JL. ANCOL BARAT VIII NO. 1 JAKARTA UTA RA IDN |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659980277 - noPO:
PO/26/0000230828 - noSO:
1691960321 - tanggal:
23 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9427 UXT
Sanitized items (6 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11310014 | Griller Size 2 ( 20 Ekor ) Frozen | 2 KRG | 40 PC |
| 11310024 | Griller Size A Frozen (900-1000 g) PC | 2 KRG | 40 PC |
| 11620056 | SBL Mitra 10 kg | 1 BOX | 10 KG |
| 11690053 | SBB Mitra 10 kg | 1 BOX | 10 KG |
| 11720055 | Full Wing Frozen Pack | 1 BOX | 10 KG |
| Truck No. B 9427 UXT PX HEAD OFFICE ANCOL : JL. ANCOL BARAT VIII NO. 1 JAKARTA UTA RA IDN | Truck No. B 9427 UXT PX HEAD OFFICE ANCOL : JL. ANCOL BARAT VIII NO. 1 JAKARTA UTA RA IDN | Truck No. B 9427 UXT PX HEAD OFFICE ANCOL : JL. ANCOL BARAT VIII NO. 1 JAKARTA UTA RA IDN | Truck No. B 9427 UXT PX HEAD OFFICE ANCOL : JL. ANCOL BARAT VIII NO. 1 JAKARTA UTA RA IDN |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659980277 - noPO:
PO/26/0000230828 - noSO:
1691960321 - tanggal:
23 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9427 UXT
Final items after SKU validation (5 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11310014 | 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 2 KRG | 40 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 2 KRG | 40 PC |
| 11620056 | 11620056 | SBL (FILLET PAHA) 1 KG(*) | 1 BOX | 10 KG |
| 11690053 | 11690053 | SBB (FILLET DADA )1 KG(*) | 1 BOX | 10 KG |
| 11720055 | 11720055 | FULL WING FROZ PACK 1 KG(*) | 1 BOX | 10 KG |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11310014 | 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 2 KRG | 40 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 2 KRG | 40 PC |
| 11620056 | 11620056 | SBL (FILLET PAHA) 1 KG(*) | 1 BOX | 10 KG |
| 11690053 | 11690053 | SBB (FILLET DADA )1 KG(*) | 1 BOX | 10 KG |
| 11720055 | 11720055 | FULL WING FROZ PACK 1 KG(*) | 1 BOX | 10 KG |
2. 1782884664859-rotated_1782884661516_rotated_1782884658097_rotated_1782884654697_CAP5956452738616729026.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0.06° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
Agnes 'Telco 23 Telkom fineshyt telco
kmrn ngechat gue tp ga jwb Ig
INDONESIA Tbk
ODERN,
02:17:59 / 2 of Tanggal : 15 May 2026
No. SO : 1691908676
<div style="text-align: center;"><img src="imgs/img_in_image_box_199_784_358_957.jpg" alt="Image" width="8%" /></div>
No. DO : 1659932080
No. PO : PO/26/0000178435
Kepada : Kepala Gudang
## DELIVERY ORDER
00671212
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : PFM-KU
Alamat : JL. ANCOL BARAT VIII/1, ANCOL,
PADEMANGAN, JAKARTA UTARA, 14430
JAKARTA UTARA
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td colspan="2">Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>13012205</td><td colspan="2">673 Asimo Sosis Ayam Kombinasi 375 Gr ASLI</td><td style='text-align: center; word-wrap: break-word;'>1 BOX</td><td style='text-align: center; word-wrap: break-word;'>15 PAC</td></tr><tr><td colspan="2"></td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>9</td><td style='text-align: center; word-wrap: break-word;'>98</td></tr></table>
Barang dikirim dalam keadaan baik
Truck No.
<div style="text-align: center;"><img src="imgs/img_in_image_box_380_832_618_960.jpg" alt="Image" width="12%" /></div>
Penerima Barang
B 9723 CXS
PM TAKTAKAN SERANG
WH 01 / 01
JL RAYA JAKTAKAN
NO 1 G, LONTAN BARU, SERANG, BANTEN
<div style="text-align: center;"><img src="imgs/img_in_image_box_766_855_973_953.jpg" alt="Image" width="10%" /></div>
Tanda Tangan Supir
<div style="text-align: center;"><img src="imgs/img_in_seal_box_995_775_1291_960.jpg" alt="Image" width="15%" /></div>
<div style="text-align: center;"><img src="imgs/img_in_image_box_1377_817_1609_951.jpg" alt="Image" width="12%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659932080 - noPO:
PO/26/0000178435 - noSO:
1691908676 - tanggal:
15 May 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9723 CXS
Raw items (1 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 13012205 | ASIMO SOSIS AYAM KOMBINASI 375 GR (PAC) | 1 BOX | 15 PAC |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659932080 - noPO:
PO/26/0000178435 - noSO:
1691908676 - tanggal:
15 May 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9723 CXS
Sanitized items (1 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 13012205 | 673 Asimo Sosis Ayam Kombinasi 375 Gr ASLI | 1 BOX | 15 PAC |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659932080 - noPO:
PO/26/0000178435 - noSO:
1691908676 - tanggal:
15 May 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
AYAM HITZ HO ANCOL - platTruk:
B 9723 CXS
Final items after SKU validation (1 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 13012205 | 13012205 | ASIMO SOSIS AYAM KOMBINASI 375 GR (PAC) | 1 BOX | 15 PAC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 13012205 | 13012205 | ASIMO SOSIS AYAM KOMBINASI 375 GR (PAC) | 1 BOX | 15 PAC |
3. 1782888127716-CAP6161747431193129837.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
7.14° - Auto-unwarped:
Yes
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
<div style="text-align: center;"><img src="imgs/img_in_image_box_0_61_114_192.jpg" alt="Image" width="5%" /></div>
JR OMEGA (PC)(*) 900 PC
POKPHAND INDONESIA TBK INDUSTRI MODERN
Amount
Kepada : Kepala Gudang
31945
1,950.00
00:21:27 No. SO : 30 June 2026
Tanggal :
No. DO : 1691972227
## DELIVERY ORDER
Kepada Yth :
No. PO : 1659990561
PO/26/0000241938
Order Untuk : PT.PRIMAFOOD INTERNATIONAL
Alamat : DKI AREA
JL.ANCOL BARAT VIII/1,ANCOL,PADEMANGAN,
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>JAKARTA UTARA, 14450 JAKARTA UTARA</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>21002601</td><td style='text-align: center; word-wrap: break-word;'>Prima Nasi Spicy Chick Sambal Geprek COPY</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>80X</td><td style='text-align: center; word-wrap: break-word;'>6 PAC</td></tr><tr><td colspan="2">Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td colspan="3">Truck No. B 9257 JXR PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN</td><td colspan="2">1 WH 01 / 01</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Penerima Barang</td><td style='text-align: center; word-wrap: break-word;'>Tanda Tangan Supir</td><td style='text-align: center; word-wrap: break-word;'>Bag. Pengeluaran Barang</td><td colspan="2">Bagian Penjualan</td></tr></table>
Lember 3. Customer
Jika D.D. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami tayani
07
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659990561 - noPO:
PO/26/0000241938 - noSO:
1691972227 - tanggal:
30 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9257 JXR
Raw items (2 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 21002601 | Prima Nasi Spicy Chick Sambal Geprek COPY | 1 BOX | 6 PAC |
| Truck No. B 9257 JXR PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN | Truck No. B 9257 JXR PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN | Truck No. B 9257 JXR PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN 1 WH 01 / 01 | 1 WH 01 / 01 |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659990561 - noPO:
PO/26/0000241938 - noSO:
1691972227 - tanggal:
30 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9257 JXR
Sanitized items (2 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 21002601 | Prima Nasi Spicy Chick Sambal Geprek COPY | 1 BOX | 6 PAC |
| Truck No. B 9257 JXR PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN | Truck No. B 9257 JXR PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN | Truck No. B 9257 JXR PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN 1 WH 01 / 01 | 1 WH 01 / 01 |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659990561 - noPO:
PO/26/0000241938 - noSO:
1691972227 - tanggal:
30 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9257 JXR
Final items after SKU validation (1 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 21002601 | 21002601 | Prima Nasi Spicy Chick Sambal Geprek COPY | 1 BOX | 6 PAC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 21002601 | 21002601 | Prima Nasi Spicy Chick Sambal Geprek COPY | 1 BOX | 6 PAC |
4. 1782888211457-rotated_1782888204591_rotated_1782888199962_rotated_1782888195402_CAP7202641176939787142.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>000006 MA TELUR OMEGA (PC)(*)</td><td style='text-align: center; word-wrap: break-word;'>900</td><td style='text-align: center; word-wrap: break-word;'>PC</td><td style='text-align: center; word-wrap: break-word;'>H/PCS</td><td style='text-align: center; word-wrap: break-word;'>1.950.00</td><td style='text-align: center; word-wrap: break-word;'>Amount</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Qty</td><td style='text-align: center; word-wrap: break-word;'>:</td><td style='text-align: center; word-wrap: break-word;'>900</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>1.755.000.00</td></tr><tr><td colspan="4">DEN POKPHAND INDONESIA Tbk</td><td rowspan="3">00:21:27</td><td style='text-align: center; word-wrap: break-word;'>Tanggal :</td></tr><tr><td colspan="4">IN INDUSTRI MODERN.</td><td style='text-align: center; word-wrap: break-word;'>No. SO : 30 June 2026</td></tr><tr><td colspan="4">EN</td><td style='text-align: center; word-wrap: break-word;'>No. DO : 1691972227</td></tr><tr><td colspan="4"></td><td style='text-align: center; word-wrap: break-word;'>No. PO : 1659990561</td><td style='text-align: center; word-wrap: break-word;'>PO/26/0000241938</td></tr></table>
Kepada : Kepala Gudang
31945
Kepada Yth :
Order Untuk : PT_PRIMAFOOD INTERNATIONAL
Alamat :
DKI AREA
JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN,
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>JAKARTA UTARA, 14430\nJAKARTA UTARA</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>21002601</td><td style='text-align: center; word-wrap: break-word;'>Prima Nasi Spicy Chick Sambal Geprek COPY</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>80X</td><td style='text-align: center; word-wrap: break-word;'>6 PAC✓</td></tr><tr><td colspan="2">Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td colspan="2"></td></tr><tr><td colspan="3">Truck No. B 9257 JXR PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>6 WH 01 / 01 Bagian Penjualan</td></tr><tr><td colspan="2">Penerima Barang Tanda Tangan Supir</td><td colspan="3">Bag. Pengeluaran Barang</td></tr><tr><td colspan="5">Lembar 3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima Barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani</td></tr></table>
adidas
DANG
SA UDANG
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659990561 - noPO:
PO/26/0000241938 - noSO:
1691972227 - tanggal:
30 June 2026 - vendorInfo:
Not Found - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9257 JXR
Raw items (4 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 21002601 | Prima Nasi Spicy Chick Sambal Geprek COPY | 1 BOX | 6 PAC |
| Truck No. B 9257 JXR PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN | Truck No. B 9257 JXR PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN | Truck No. B 9257 JXR PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN 1 | 6 WH 01 / 01 Bagian Penjualan |
| Penerima Barang Tanda Tangan Supir | Penerima Barang Tanda Tangan Supir | Bag. Pengeluaran Barang Bag. Pengeluaran Barang | Bag. Pengeluaran Barang |
| Lembar 3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima Barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani | Lembar 3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima Barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani | Lembar 3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima Barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani Lembar 3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima Barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani | Lembar 3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima Barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659990561 - noPO:
PO/26/0000241938 - noSO:
1691972227 - tanggal:
30 June 2026 - vendorInfo:
Not Found - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9257 JXR
Sanitized items (4 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 21002601 | Prima Nasi Spicy Chick Sambal Geprek COPY | 1 BOX | 6 PAC |
| Truck No. B 9257 JXR PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN | Truck No. B 9257 JXR PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN | Truck No. B 9257 JXR PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN 1 | 6 WH 01 / 01 Bagian Penjualan |
| Penerima Barang Tanda Tangan Supir | Penerima Barang Tanda Tangan Supir | Bag. Pengeluaran Barang Bag. Pengeluaran Barang | Bag. Pengeluaran Barang |
| Lembar 3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima Barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani | Lembar 3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima Barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani | Lembar 3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima Barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani Lembar 3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima Barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani | Lembar 3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima Barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659990561 - noPO:
PO/26/0000241938 - noSO:
1691972227 - tanggal:
30 June 2026 - vendorInfo:
Not Found - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9257 JXR
Final items after SKU validation (1 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 21002601 | 21002601 | Prima Nasi Spicy Chick Sambal Geprek COPY | 1 BOX | 6 PAC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 21002601 | 21002601 | Prima Nasi Spicy Chick Sambal Geprek COPY | 1 BOX | 6 PAC |
5. 1782888609885-rotated_1782888593813_1000000454.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
22.84° - Auto-unwarped:
Yes
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
<div style="text-align: center;"><img src="imgs/img_in_chart_box_724_2_3130_572.jpg" alt="Image" width="73%" /></div>
Kepala : Kepala Gudang
00161083
## DELIVERY ORDER
No. PO : PO/26/0000238723
65-58
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : DKI AREA
61-50 Alamat : JL. ANCOL BARAT VIII/1. ANCOL. PADENANGAN.
JAKARTA UTARA.14430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310014</td><td style='text-align: center; word-wrap: break-word;'>Griller Size 2 ( 20 Ekor ) Frozen</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>60 PG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310024</td><td style='text-align: center; word-wrap: break-word;'>Griller Size A Frozen ( 900-1000 G) PC</td><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>40 PG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11660050</td><td style='text-align: center; word-wrap: break-word;'>Drumstick Frozen Pack</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>10 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11690053</td><td style='text-align: center; word-wrap: break-word;'>SBB Mitra 10 Kg</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>10 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11720055</td><td style='text-align: center; word-wrap: break-word;'>Full Wind Frozen Pack</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>10 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11750050</td><td style='text-align: center; word-wrap: break-word;'>Fillet Mitra 10 Kg</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>10 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>104</td><td style='text-align: center; word-wrap: break-word;'>140</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Truck No. B 9715 UXU</td><td colspan="3">WH Q1 / 01</td></tr><tr><td colspan="4">PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN. =</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Penerima Barang</td><td style='text-align: center; word-wrap: break-word;'>Tanda Tangan Supir</td><td style='text-align: center; word-wrap: break-word;'>Bag. Pengeluaran Barang</td><td style='text-align: center; word-wrap: break-word;'>Bagian Penjualan</td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_chart_box_24_1820_634_2236.jpg" alt="Image" width="18%" /></div>
Lembar 3 : Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
Not Found - noPO:
PO/26/0000238723 - noSO:
Not Found - tanggal:
Not Found - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9715 UXU
Raw items (8 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 3 KRG | 60 PC |
| 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 2 KRG | 40 PC |
| 11660050 | PAHA BAWAH (1 KG)(*) | 1 BOX | 10 KG |
| 11690053 | SBB (FILLET DADA )1 KG(*) | 1 BOX | 10 KG |
| 11720055 | FULL WING FROZ PACK 1 KG(*) | 1 BOX | 10 KG |
| 11750050 | FILLET MITRA 1 KG(*) | 1 BOX | 10 KG |
| Truck No. B 9715 UXU | WH Q1 / 01 | WH Q1 / 01 | WH Q1 / 01 |
| PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN. = | PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN. = | PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN. = | PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN. = |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
Not Found - noPO:
PO/26/0000238723 - noSO:
Not Found - tanggal:
Not Found - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9715 UXU
Sanitized items (8 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11310014 | Griller Size 2 ( 20 Ekor ) Frozen | 3 KRG | 60 PG |
| 11310024 | Griller Size A Frozen ( 900-1000 G) PC | 2 KRG | 40 PG |
| 11660050 | Drumstick Frozen Pack | 1 | 10 KG |
| 11690053 | SBB Mitra 10 Kg | 1 | 10 KG |
| 11720055 | Full Wind Frozen Pack | 1 | 10 KG |
| 11750050 | Fillet Mitra 10 Kg | 1 | 10 KG |
| Truck No. B 9715 UXU | WH Q1 / 01 | WH Q1 / 01 | WH Q1 / 01 |
| PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN. = | PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN. = | PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN. = | PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN. = |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
Not Found - noPO:
PO/26/0000238723 - noSO:
Not Found - tanggal:
Not Found - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9715 UXU
Final items after SKU validation (6 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11310014 | 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 3 KRG | 60 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 2 KRG | 40 PC |
| 11660050 | 11660050 | PAHA BAWAH (1 KG)(*) | 1 BOX | 10 KG |
| 11690053 | 11690053 | SBB (FILLET DADA )1 KG(*) | 1 BOX | 10 KG |
| 11720055 | 11720055 | FULL WING FROZ PACK 1 KG(*) | 1 BOX | 10 KG |
| 11750050 | 11750050 | FILLET MITRA 1 KG(*) | 1 BOX | 10 KG |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11310014 | 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 3 KRG | 60 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 2 KRG | 40 PC |
| 11660050 | 11660050 | PAHA BAWAH (1 KG)(*) | 1 BOX | 10 KG |
| 11690053 | 11690053 | SBB (FILLET DADA )1 KG(*) | 1 BOX | 10 KG |
| 11720055 | 11720055 | FULL WING FROZ PACK 1 KG(*) | 1 BOX | 10 KG |
| 11750050 | 11750050 | FILLET MITRA 1 KG(*) | 1 BOX | 10 KG |
6. 1782890303600-1000000465.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
17.41° - Auto-unwarped:
Yes
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>CHARDEN POKPHAND INDONESIA TBK</td><td style='text-align: center; word-wrap: break-word;'>06:28:48 / 1</td><td style='text-align: center; word-wrap: break-word;'>otTanggal :</td><td style='text-align: center; word-wrap: break-word;'>30 June 2026</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>AWASAM INDUSTRI MODERN.</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>No. SO :</td><td style='text-align: center; word-wrap: break-word;'>1691972284</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>BANTEN</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>No. DO :</td><td style='text-align: center; word-wrap: break-word;'>1659990583</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>No. PO :</td><td style='text-align: center; word-wrap: break-word;'>PO/26/0000241302</td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_image_box_0_357_265_492.jpg" alt="Image" width="8%" /></div>
00088615
Kepada : Kepala Gudang
## DELIVERY ORDER
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : DKI AREA
Alamat : JL. ANCOL BARAT VIII/1. ANCOL. PADEMANGAN.
JAKARTA UTARA. 14430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>12010509
12010512
12010519
12012501
12012503
13010116
13010514
13030502</td><td style='text-align: center; word-wrap: break-word;'>829 Champ Crunchy Nugget 450 G
888 Champ Naget Avam Kombinasi 900 G
894 CHAMP NAGET KOMBINASI BENTUK STIK 90
600 AKumo Chicken Naget 250 Gr
602 AKumo Chicken Naget 1 Ka
692 Fiesta Original Sausage 300 GR
299 Champ Chicken Sausage 1 Ka FR
298 Champ Chicken Ball 500 GR Fr</td><td style='text-align: center; word-wrap: break-word;'>1 BOX
1 BOX
1 BOX
1 BOX
1 BOX
1 BOX
1 BOX</td><td style='text-align: center; word-wrap: break-word;'>10 PAC
6 PAC
6 PAC
20 PAC
5 PAC
20 PAC
10 PAC
10 PAC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'><img src="imgs/img_in_image_box_101_1618_654_2051.jpg" alt="Image"" /></td><td style='text-align: center; word-wrap: break-word;'><img src="imgs/img_in_image_box_983_1753_1649_2025.jpg" alt="Image"" /></td><td style='text-align: center; word-wrap: break-word;'>WH 01 / 01
HEAD OFFICE ANCOL ! JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN</td><td style='text-align: center; word-wrap: break-word;'></td></tr></table>
Lembar3 : Customer
3 : Customer
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659990583 - noPO:
PO/26/0000241302 - noSO:
1691972284 - tanggal:
30 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Raw items (8 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 12010509 | CHAMP CRUNCHY NUGGET 450 GR/PAC | 1 BOX | 10 PAC |
| 12010512 | CHAMP NUGGET AYAM 900 GR/PAC | 1 BOX | 6 PAC |
| 12010519 | CHAMP NUGGET STICK 900 GR/PAC | 1 BOX | 6 PAC |
| 12012501 | AKUMO CHICKEN NAGET 250 GR | 1 BOX | 20 PAC |
| 12012503 | AKUMO CHICKEN NUGGET 1000 GR | 1 BOX | 5 PAC |
| 13010116 | FIESTA SSG ORIGINAL 300 GR | 1 BOX | 20 PAC |
| 13010514 | CHAMP CHICK SSG 1000 GR | 1 BOX | 10 PAC |
| 13030502 | CHAMP CHICK MEATBALL 500 GR | 1 BOX | 10 PAC |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659990583 - noPO:
PO/26/0000241302 - noSO:
1691972284 - tanggal:
30 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Sanitized items (8 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 12010509 | 829 Champ Crunchy Nugget 450 G | 1 BOX | 10 PAC |
| 12010512 | 888 Champ Naget Avam Kombinasi 900 G | 1 BOX | 6 PAC |
| 12010519 | 894 CHAMP NAGET KOMBINASI BENTUK STIK 90 | 1 BOX | 6 PAC |
| 12012501 | 600 AKumo Chicken Naget 250 Gr | 1 BOX | 20 PAC |
| 12012503 | 602 AKumo Chicken Naget 1 Ka | 1 BOX | 5 PAC |
| 13010116 | 692 Fiesta Original Sausage 300 GR | 1 BOX | 20 PAC |
| 13010514 | 299 Champ Chicken Sausage 1 Ka FR | 1 BOX | 10 PAC |
| 13030502 | 298 Champ Chicken Ball 500 GR Fr | 1 BOX | 10 PAC |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659990583 - noPO:
PO/26/0000241302 - noSO:
1691972284 - tanggal:
30 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk: empty
Final items after SKU validation (8 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 12010509 | 12010509 | CHAMP CRUNCHY NUGGET 450 GR/PAC | 1 BOX | 10 PAC |
| 12010512 | 12010512 | CHAMP NUGGET AYAM 900 GR/PAC | 1 BOX | 6 PAC |
| 12010519 | 12010519 | CHAMP NUGGET STICK 900 GR/PAC | 1 BOX | 6 PAC |
| 12012501 | 12012501 | AKUMO CHICKEN NAGET 250 GR | 1 BOX | 20 PAC |
| 12012503 | 12012503 | AKUMO CHICKEN NUGGET 1000 GR | 1 BOX | 5 PAC |
| 13010116 | 13010116 | FIESTA SSG ORIGINAL 300 GR | 1 BOX | 20 PAC |
| 13010514 | 13010514 | CHAMP CHICK SSG 1000 GR | 1 BOX | 10 PAC |
| 13030502 | 13030502 | CHAMP CHICK MEATBALL 500 GR | 1 BOX | 10 PAC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 12010509 | 12010509 | CHAMP CRUNCHY NUGGET 450 GR/PAC | 1 BOX | 10 PAC |
| 12010512 | 12010512 | CHAMP NUGGET AYAM 900 GR/PAC | 1 BOX | 6 PAC |
| 12010519 | 12010519 | CHAMP NUGGET STICK 900 GR/PAC | 1 BOX | 6 PAC |
| 12012501 | 12012501 | AKUMO CHICKEN NAGET 250 GR | 1 BOX | 20 PAC |
| 12012503 | 12012503 | AKUMO CHICKEN NUGGET 1000 GR | 1 BOX | 5 PAC |
| 13010116 | 13010116 | FIESTA SSG ORIGINAL 300 GR | 1 BOX | 20 PAC |
| 13010514 | 13010514 | CHAMP CHICK SSG 1000 GR | 1 BOX | 10 PAC |
| 13030502 | 13030502 | CHAMP CHICK MEATBALL 500 GR | 1 BOX | 10 PAC |
7. 1782892728794-1000000466.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
10.1° - Auto-unwarped:
Yes
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PT. CHAROEN POKPHAND INDONESIA TBK
KAWASAN INDUSTRI MODERN.
BANTEN
06:28:48 / 2
00088616
pada : Kepala Gudang
of tanggal : 30 June 2026
No. SO : 1691972284
<div style="text-align: center;"><img src="imgs/img_in_image_box_60_550_152_675.jpg" alt="Image" width="2%" /></div>
No. DO : 1659990583
No. PO : PO/26/0000241302
## DELIVERY ORDER
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : DKI AREA
Alamat
JL. ANCOL BARAT VIII/1. ANCOL.
PADEMANGAN. JAKARTA UTARA. 14430
JAKARTA UTARA
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>15040101</td><td style='text-align: center; word-wrap: break-word;'>903 Fiesta French F Batter Coated 500 GR</td><td style='text-align: center; word-wrap: break-word;'>1 BOX</td><td style='text-align: center; word-wrap: break-word;'>12 PAC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>COPY</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>9</td><td style='text-align: center; word-wrap: break-word;'>99</td></tr><tr><td style='text-align: center; word-wrap: break-word;'><img src="imgs/img_in_image_box_39_1701_613_2217.jpg" alt="Image"" /></td><td style='text-align: center; word-wrap: break-word;'>B 9256 JXR WH 01 / 01\nPX HEAD OFFICE ANCOL ! JL. ANCOL BARAT\nVIII NO. 1 JAKARTA UTARA IDN\nTanda Tangan Supir Bag. Pengeluaran Barang</td><td style='text-align: center; word-wrap: break-word;'>J</td><td style='text-align: center; word-wrap: break-word;'></td></tr></table>
Lembar 3: Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
Jika D.O. ini telah ditanau
-
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659990583 - noPO:
PO/26/0000241302 - noSO:
1691972284 - tanggal:
30 June 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN. BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9256 JXR
Raw items (5 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 15040101 | FIESTA BATTER COATED 500 GR | 1 BOX | 12 PAC |
| B 9256 JXR WH 01 / 01 | 1 J | ||
| PX HEAD OFFICE ANCOL ! JL. ANCOL BARAT | 1 | ||
| VIII NO. 1 JAKARTA UTARA IDN | 1 | ||
| Tanda Tangan Supir Bag. Pengeluaran Barang | 1 |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659990583 - noPO:
PO/26/0000241302 - noSO:
1691972284 - tanggal:
30 June 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN. BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9256 JXR
Sanitized items (5 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 15040101 | 903 Fiesta French F Batter Coated 500 GR | 1 BOX | 12 PAC |
| B 9256 JXR WH 01 / 01 | 1 J | ||
| PX HEAD OFFICE ANCOL ! JL. ANCOL BARAT | 1 | ||
| VIII NO. 1 JAKARTA UTARA IDN | 1 | ||
| Tanda Tangan Supir Bag. Pengeluaran Barang | 1 |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659990583 - noPO:
PO/26/0000241302 - noSO:
1691972284 - tanggal:
30 June 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN. BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9256 JXR
Final items after SKU validation (1 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 15040101 | 15040101 | FIESTA BATTER COATED 500 GR | 1 BOX | 12 PAC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 15040101 | 15040101 | FIESTA BATTER COATED 500 GR | 1 BOX | 12 PAC |
8. IMG_20260630_145445.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
10.71° - Auto-unwarped:
Yes
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
☐ ☑ ☐ ☑
.
🔥 🌈 🔥 — ☕ ×
<div style="text-align: center;">WhatsApp Image 2026-06-23 at 10.41.41.jpeg</div>
LUIA TUR
22222222
epada : Kepala Gudang
00117709
Tanggal:25 May 2026
No.SO : 1071721209
No. DO : 1057745004
## DELIVERY ORDER
No. PO : PO/20/0000170727
Kepada Yth : PT.PRINHFOVO INTERNATIONAL
Order Untuk : FTM KU
Alamat : JL. ANCOL BARAT VIII/1. ANCOL. PAOENANGAR.
JAKARTA UTAHRA,19430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>JAKARTA UFARA</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>13030502</td><td style='text-align: center; word-wrap: break-word;'>290 Champ Chicken Ball 500 GR Tr <img src="imgs/img_in_image_box_1238_1475_1551_1588.jpg" alt="Image"" /></td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>80%</td><td style='text-align: center; word-wrap: break-word;'>10 PAC</td></tr><tr><td colspan="2">Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr></table>
Truck Nò. " - " B 9536 000
期日/01
2771
1200×1600 192 KB
in
[ ] [ ]
121%
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1057745004 - noPO:
PO/26/0000170727 - noSO:
1071721209 - tanggal:
25 May 2026 - vendorInfo:
PT.PRINHFOVO INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Raw items (1 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 13030502 | CHAMP CHICK MEATBALL 500 GR | 1 BOX | 10 PAC |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1057745004 - noPO:
PO/26/0000170727 - noSO:
1071721209 - tanggal:
25 May 2026 - vendorInfo:
PT.PRINHFOVO INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Sanitized items (1 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 13030502 | 290 Champ Chicken Ball 500 GR Tr | 1 80% | 10 PAC |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1057745004 - noPO:
PO/26/0000170727 - noSO:
1071721209 - tanggal:
25 May 2026 - vendorInfo:
PT.PRINHFOVO INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk: empty
Final items after SKU validation (1 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 13030502 | 13030502 | CHAMP CHICK MEATBALL 500 GR | 1 BOX | 10 PAC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 13030502 | 13030502 | CHAMP CHICK MEATBALL 500 GR | 1 BOX | 10 PAC |
9. IMG_20260701_134446.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>1.950.00</td><td style='text-align: center; word-wrap: break-word;'>Amount
1.755.000.00</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>21002601</td><td style='text-align: center; word-wrap: break-word;'>Prima Nasi Spicy Chick Sambal Beprek COPY</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>6 PAC✓</td></tr><tr><td colspan="2">Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>6</td></tr><tr><td colspan="4">Truck No. B 9257 JXR PX HEAD OFFICE ANCOL JL ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN Bagian Penjualan</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Penerima Barang Lember 3 : Customer</td><td colspan="3">Tanda Tangan Supir Jika D.D. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani Bag. Pengeluaran Barang</td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_image_box_3157_310_3264_428.jpg" alt="Image" width="3%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
Not Found - noPO:
Not Found - noSO:
Not Found - tanggal:
Not Found - vendorInfo:
Not Found - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9257 JXR
Raw items (3 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 21002601 | Prima Nasi Spicy Chick Sambal Beprek COPY | 1 BOX | 6 PAC |
| Truck No. B 9257 JXR PX HEAD OFFICE ANCOL JL ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN Bagian Penjualan | Truck No. B 9257 JXR PX HEAD OFFICE ANCOL JL ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN Bagian Penjualan | Truck No. B 9257 JXR PX HEAD OFFICE ANCOL JL ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN Bagian Penjualan | Truck No. B 9257 JXR PX HEAD OFFICE ANCOL JL ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN Bagian Penjualan |
| Penerima Barang Lember 3 : Customer | Tanda Tangan Supir Jika D.D. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani Bag. Pengeluaran Barang | Tanda Tangan Supir Jika D.D. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani Bag. Pengeluaran Barang | Tanda Tangan Supir Jika D.D. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani Bag. Pengeluaran Barang |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
Not Found - noPO:
Not Found - noSO:
Not Found - tanggal:
Not Found - vendorInfo:
Not Found - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9257 JXR
Sanitized items (3 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 21002601 | Prima Nasi Spicy Chick Sambal Beprek COPY | 1 BOX | 6 PAC |
| Truck No. B 9257 JXR PX HEAD OFFICE ANCOL JL ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN Bagian Penjualan | Truck No. B 9257 JXR PX HEAD OFFICE ANCOL JL ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN Bagian Penjualan | Truck No. B 9257 JXR PX HEAD OFFICE ANCOL JL ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN Bagian Penjualan | Truck No. B 9257 JXR PX HEAD OFFICE ANCOL JL ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN Bagian Penjualan |
| Penerima Barang Lember 3 : Customer | Tanda Tangan Supir Jika D.D. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani Bag. Pengeluaran Barang | Tanda Tangan Supir Jika D.D. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani Bag. Pengeluaran Barang | Tanda Tangan Supir Jika D.D. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani Bag. Pengeluaran Barang |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
Not Found - noPO:
Not Found - noSO:
Not Found - tanggal:
Not Found - vendorInfo:
Not Found - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9257 JXR
Final items after SKU validation (1 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 21002601 | 21002601 | Prima Nasi Spicy Chick Sambal Beprek COPY | 1 BOX | 6 PAC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 21002601 | 21002601 | Prima Nasi Spicy Chick Sambal Beprek COPY | 1 BOX | 6 PAC |
10. IMG_20260701_134504.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
14.75° - Auto-unwarped:
Yes
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>70000006 PRIMA TELUR OMEGA (PC)(*) qty unit</td><td style='text-align: center; word-wrap: break-word;'>H/PCS</td><td style='text-align: center; word-wrap: break-word;'>1.950.00</td><td style='text-align: center; word-wrap: break-word;'>1.755.000.00</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Total qty :</td><td style='text-align: center; word-wrap: break-word;'>900</td><td rowspan="2">06:28:57</td><td rowspan="2">Tanggal : 30 June 2026\nNo. SO : 1691972285\nNo. DO : 1659990584\nNo. PO : 07/26/0000241303</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>INDONESIA TbK</td><td style='text-align: center; word-wrap: break-word;'>RN.</td></tr></table>
## 00088617
## DELIVERY ORDER
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : DKI AREA
Alamat : JL. ANCOL BARAT VIII/1. ANCOL. PADEMANGAN.
JAKARTA UTARA. 14430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>21010104</td><td style='text-align: center; word-wrap: break-word;'>Fiesta Beet Rendang W Rice 320G 6PC</td><td style='text-align: center; word-wrap: break-word;'>1 BOX</td><td style='text-align: center; word-wrap: break-word;'>6 PAC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>COPY</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>6</td></tr><tr><td rowspan="3"><img src="imgs/img_in_image_box_147_1778_703_2217.jpg" alt="Image"" /></td><td rowspan="3"><img src="imgs/img_in_image_box_1038_1929_1661_2224.jpg" alt="Image"" /></td><td colspan="2">WH 01 / 01</td></tr><tr><td colspan="2">JAKARTA UTARA IDN</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Bag. Pengeluaran Barang</td><td style='text-align: center; word-wrap: break-word;'>Bagian Penjualan</td></tr></table>
Lembar 3 : Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659990584 - noPO:
PO/26/0000241303 - noSO:
1691972285 - tanggal:
30 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Raw items (3 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 21010104 | NEW FIESTA BEEF RENDANG W RICE 320GR (PAC) | 1 BOX | 6 PAC |
| JAKARTA UTARA IDN | JAKARTA UTARA IDN | 1 | |
| Bag. Pengeluaran Barang | Bagian Penjualan | 1 |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659990584 - noPO:
PO/26/0000241303 - noSO:
1691972285 - tanggal:
30 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Sanitized items (3 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 21010104 | Fiesta Beet Rendang W Rice 320G 6PC | 1 BOX | 6 PAC |
| JAKARTA UTARA IDN | JAKARTA UTARA IDN | 1 | |
| Bag. Pengeluaran Barang | Bagian Penjualan | 1 |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659990584 - noPO:
PO/26/0000241303 - noSO:
1691972285 - tanggal:
30 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN, JAKARTA UTARA, DKI JAKARTA (KANTIN CPI) - orderUntuk:
PRIMA XPRESS - TOWN HALL ANCOL - platTruk: empty
Final items after SKU validation (1 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 21010104 | 21010104 | NEW FIESTA BEEF RENDANG W RICE 320GR (PAC) | 1 BOX | 6 PAC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 21010104 | 21010104 | NEW FIESTA BEEF RENDANG W RICE 320GR (PAC) | 1 BOX | 6 PAC |
11. IMG_20260701_134555.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0.15° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
IDONESIA IDK
No.1.
04:59:54
Tanggal :
## DELIVERY ORDER
No.SO : 30 June 2026
No. DO : 2271289510
Kepada Yth :
No. PO : 2272290022
PO/26/0000241304
Order Untuk : PT.PRIMAFOOD INTERNATIONAL
Alamat : DKI AREA
JL.ANCOL BARAT VIII/1.ANCOL.PADEMANGAN.
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>JAKARTA UTARA, 14430\nJAKARTA UTARA</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11048006</td><td style='text-align: center; word-wrap: break-word;'>PARTING 150 - 160 GR FRZ PACK\nCOPY</td><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>BOX</td><td style='text-align: center; word-wrap: break-word;'>30 PAC ✓</td></tr><tr><td colspan="2">Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Truck No.</td><td style='text-align: center; word-wrap: break-word;'><img src="imgs/img_in_image_box_236_1610_777_1990.jpg" alt="Image"" /></td><td style='text-align: center; word-wrap: break-word;'><img src="imgs/img_in_seal_box_1791_1480_2353_1886.jpg" alt="Image"" /></td><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>30</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Lembar 3 - Customer</td><td style='text-align: center; word-wrap: break-word;'><img src="imgs/img_in_seal_box_797_1606_1588_2049.jpg" alt="Image"" /></td><td style='text-align: center; word-wrap: break-word;'>Bag. Pengeluaran Barang</td><td style='text-align: center; word-wrap: break-word;'>UTARA IDN</td><td style='text-align: center; word-wrap: break-word;'>Bagian Penjualan</td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_footer_image_box_1943_2364_2129_2448.jpg" alt="Image" width="5%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
2272290022 - noPO:
PO/26/0000241304 - noSO:
2271289510 - tanggal:
30 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Raw items (3 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11048006 | BEBEK PARTING-NEW(*) | 2 BOX | 30 PAC |
| Truck No. | 2 | 30 | |
| Lembar 3 - Customer | Bag. Pengeluaran Barang UTARA IDN | Bagian Penjualan |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
2272290022 - noPO:
PO/26/0000241304 - noSO:
2271289510 - tanggal:
30 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Sanitized items (3 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11048006 | PARTING 150 - 160 GR FRZ PACK | 2 BOX | 30 PAC |
| Truck No. | 2 | 30 | |
| Lembar 3 - Customer | Bag. Pengeluaran Barang UTARA IDN | Bagian Penjualan |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
2272290022 - noPO:
PO/26/0000241304 - noSO:
2271289510 - tanggal:
30 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk: empty
Final items after SKU validation (1 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11048006 | 11048006 | BEBEK PARTING-NEW(*) | 2 BOX | 30 PAC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11048006 | 11048006 | BEBEK PARTING-NEW(*) | 2 BOX | 30 PAC |
12. IMG_20260701_134555~2.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0.22° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
IDONESIA IDK
NO. 1.
04:59:54
Tanggal:
## DELIVERY ORDER
No.SO : 30 June 2026
No. DO : 2271289510
Kepada Yth
No. PO : 2272290022
PO/26/0000241304
Order Untuk : PT.PRIMAFOOD INTERNATIONAL
Alamat : DKI AREA
JL.ANCOL BARAT VIII/1.ANCOL.PADEMANGAN.
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>JAKARTA UTARA. 14430\nJAKARTA UTARA</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11048000</td><td style='text-align: center; word-wrap: break-word;'>PARTING 150 - 160 GR FRZ PACK\nCOPY</td><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>BOX</td><td style='text-align: center; word-wrap: break-word;'>30 PAC ✓</td></tr><tr><td colspan="5"><img src="imgs/img_in_seal_box_1878_1304_2187_1500.jpg" alt="Image"" /></td></tr><tr><td colspan="5">Barang dikirim dalam keadaan baik</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Truck No</td><td style='text-align: center; word-wrap: break-word;'>BARAT</td><td style='text-align: center; word-wrap: break-word;'>2</td><td colspan="2">30</td></tr><tr><td style='text-align: center; word-wrap: break-word;'><img src="imgs/img_in_seal_box_235_1603_771_1990.jpg" alt="Image"" /></td><td style='text-align: center; word-wrap: break-word;'><img src="imgs/img_in_seal_box_778_1596_1588_2046.jpg" alt="Image"" /></td><td style='text-align: center; word-wrap: break-word;'><img src="imgs/img_in_seal_box_1788_1488_2348_1931.jpg" alt="Image"" /></td><td colspan="2">UTARA IDN</td></tr><tr><td colspan="3">Lembar 3 - Customer</td><td colspan="2">Bagian Penjualan</td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_footer_image_box_1940_2363_2128_2448.jpg" alt="Image" width="5%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
2272290022 - noPO:
PO/26/0000241304 - noSO:
2271289510 - tanggal:
30 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Raw items (3 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11048000 | PARTING 150 - 160 GR FRZ PACK | 2 BOX | 30 PAC |
| Truck No | BARAT | 2 30 | 30 |
| Lembar 3 - Customer | Lembar 3 - Customer | Lembar 3 - Customer Bagian Penjualan | Bagian Penjualan |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
2272290022 - noPO:
PO/26/0000241304 - noSO:
2271289510 - tanggal:
30 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Sanitized items (3 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11048000 | PARTING 150 - 160 GR FRZ PACK | 2 BOX | 30 PAC |
| Truck No | BARAT | 2 30 | 30 |
| Lembar 3 - Customer | Lembar 3 - Customer | Lembar 3 - Customer Bagian Penjualan | Bagian Penjualan |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
2272290022 - noPO:
PO/26/0000241304 - noSO:
2271289510 - tanggal:
30 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk: empty
Final items after SKU validation (1 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11048000 | 11048000 | PARTING 150 - 160 GR FRZ PACK | 2 BOX | 30 PAC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11048000 | 11048000 | PARTING 150 - 160 GR FRZ PACK | 2 BOX | 30 PAC |
13. IMG_20260701_134646~2.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0.57° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
## Purchase Order
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2"></td><td rowspan="2">Nomor P.O</td><td colspan="2">: PO/26/0000230199</td></tr><tr><td colspan="2">: 22/06/2026</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>KAWASAKI INDUSTRI MODERN.</td><td rowspan="4">02:56:41</td><td style='text-align: center; word-wrap: break-word;'>Tanggal :</td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>BANTEN</td><td style='text-align: center; word-wrap: break-word;'>No. SO :</td><td style='text-align: center; word-wrap: break-word;'>23 June 2026</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>No. DO :</td><td style='text-align: center; word-wrap: break-word;'>1691960321</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>No. PO :</td><td style='text-align: center; word-wrap: break-word;'>1659980277</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>DELIVERY ORDER</td><td colspan="2">PO/26/0000230828</td></tr></table>
Kepala Gudang
00169133
Kepada Yth :
Order Untuk : PT.PRIMAFOOD INTERNATIONAL
Alamat : DKI AREA
JL.ANCOL BARAT VIII/1.ANCOL.PADEMANGAN.
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>JAKARTA UTARA, 14430\nJAKARTA UTA RA</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td rowspan="5">11310014\n11310024\n11620056\n11690053\n11720055</td><td rowspan="5">✓ Griller Size 2 ( 20 Ekor ) Frozen\n✓ Griller Size A Frozen (900-1000 G) PC\n✓ SBL Mitra 10 Kg\n✓ SBB Mitra 10 Kg\n✓ Full Wing Frozen Pack</td><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>KRG</td><td style='text-align: center; word-wrap: break-word;'>40 PC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>KRG</td><td style='text-align: center; word-wrap: break-word;'>40 PC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>BOX</td><td style='text-align: center; word-wrap: break-word;'>10 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>BOX</td><td style='text-align: center; word-wrap: break-word;'>10 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>BOX</td><td style='text-align: center; word-wrap: break-word;'>10 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td colspan="4">Truck No. B 9427 UXT\nPX, HEAD OFFICE ANCOL ; JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN</td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td colspan="4">Penerima Barang Tanda Tangan Supir\nBag. Pengeluaran Barang</td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td colspan="4">3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani</td><td style='text-align: center; word-wrap: break-word;'></td></tr></table>
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td colspan="2">COPY P.O SELALU</td><td style='text-align: center; word-wrap: break-word;'>PPN</td><td style='text-align: center; word-wrap: break-word;'>254,000.00</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>Total</td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>Menyetujui</td><td style='text-align: center; word-wrap: break-word;'></td></tr></table>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659980277 - noPO:
PO/26/0000230199 - noSO:
1691960321 - tanggal:
23 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9427 UXT
Raw items (10 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 2 KRG | 40 PC |
| 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 2 KRG | 40 PC |
| 11620056 | SBL (FILLET PAHA) 1 KG(*) | 1 BOX | 10 KG |
| 11690053 | SBB (FILLET DADA )1 KG(*) | 1 BOX | 10 KG |
| 11720055 | FULL WING FROZ PACK 1 KG(*) | 1 BOX | 10 KG |
| Truck No. B 9427 UXT | Truck No. B 9427 UXT | Truck No. B 9427 UXT | |
| PX, HEAD OFFICE ANCOL ; JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN | PX, HEAD OFFICE ANCOL ; JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN | PX, HEAD OFFICE ANCOL ; JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN Truck No. B 9427 UXT | |
| Penerima Barang Tanda Tangan Supir | Penerima Barang Tanda Tangan Supir | Penerima Barang Tanda Tangan Supir | |
| Bag. Pengeluaran Barang | Bag. Pengeluaran Barang | Bag. Pengeluaran Barang Penerima Barang Tanda Tangan Supir | |
| 3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani | 3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani | 3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani 3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659980277 - noPO:
PO/26/0000230199 - noSO:
1691960321 - tanggal:
23 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9427 UXT
Sanitized items (10 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11310014 | ✓ Griller Size 2 ( 20 Ekor ) Frozen | 2 KRG | 40 PC |
| 11310024 | ✓ Griller Size A Frozen (900-1000 G) PC | 2 KRG | 40 PC |
| 11620056 | ✓ SBL Mitra 10 Kg | 1 BOX | 10 KG |
| 11690053 | ✓ SBB Mitra 10 Kg | 1 BOX | 10 KG |
| 11720055 | ✓ Full Wing Frozen Pack | 1 BOX | 10 KG |
| Truck No. B 9427 UXT | Truck No. B 9427 UXT | Truck No. B 9427 UXT | |
| PX, HEAD OFFICE ANCOL ; JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN | PX, HEAD OFFICE ANCOL ; JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN | PX, HEAD OFFICE ANCOL ; JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN Truck No. B 9427 UXT | |
| Penerima Barang Tanda Tangan Supir | Penerima Barang Tanda Tangan Supir | Penerima Barang Tanda Tangan Supir | |
| Bag. Pengeluaran Barang | Bag. Pengeluaran Barang | Bag. Pengeluaran Barang Penerima Barang Tanda Tangan Supir | |
| 3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani | 3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani | 3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani 3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659980277 - noPO:
PO/26/0000230199 - noSO:
1691960321 - tanggal:
23 June 2026 - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9427 UXT
Final items after SKU validation (5 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11310014 | 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 2 KRG | 40 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 2 KRG | 40 PC |
| 11620056 | 11620056 | SBL (FILLET PAHA) 1 KG(*) | 1 BOX | 10 KG |
| 11690053 | 11690053 | SBB (FILLET DADA )1 KG(*) | 1 BOX | 10 KG |
| 11720055 | 11720055 | FULL WING FROZ PACK 1 KG(*) | 1 BOX | 10 KG |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11310014 | 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 2 KRG | 40 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 2 KRG | 40 PC |
| 11620056 | 11620056 | SBL (FILLET PAHA) 1 KG(*) | 1 BOX | 10 KG |
| 11690053 | 11690053 | SBB (FILLET DADA )1 KG(*) | 1 BOX | 10 KG |
| 11720055 | 11720055 | FULL WING FROZ PACK 1 KG(*) | 1 BOX | 10 KG |
14. IMG_20260701_134810.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
-
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11140062\n11150064\n11310014\n11600053\n11650053\n11750050</td><td style='text-align: center; word-wrap: break-word;'>Ambela 1 KG Frozen\nHati 1 KG Frozen\nGriller Size 2 ( 20 Ekor ) Frozen\nBL Mitra 10 Kq\nThighstick Frozen Pack\nFillet Mitra 10 Kq</td><td style='text-align: center; word-wrap: break-word;'>1 KRG\n1 KRG\n3 KRG\n1 BOX\n1 BOX</td><td style='text-align: center; word-wrap: break-word;'>20 KG\n20 KG\n60 KG\n10 KG\n10 KG\n10 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>65</td><td style='text-align: center; word-wrap: break-word;'>130</td><td style='text-align: center; word-wrap: break-word;'></td></tr></table>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
Not Found - noPO:
Not Found - noSO:
Not Found - tanggal:
Not Found - vendorInfo:
Not Found - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Raw items (7 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11140062 | AMPELA 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11150064 | HATI 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 3 KRG | 60 PC |
| 11600053 | BONELESS LEG FROZEN 1 KG(*) | 1 BOX | 10 KG |
| 11650053 | PAHA ATAS 1 KG(*) | 1 BOX | 10 KG |
| 11750050 | FILLET MITRA 1 KG(*) | 1 BOX | 10 KG |
| 65 | 130 |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
Not Found - noPO:
Not Found - noSO:
Not Found - tanggal:
Not Found - vendorInfo:
Not Found - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Sanitized items (7 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11140062 | Ambela 1 KG Frozen | 1 KRG | 20 KG |
| 11150064 | Hati 1 KG Frozen | 1 KRG | 20 KG |
| 11310014 | Griller Size 2 ( 20 Ekor ) Frozen | 3 KRG | 60 KG |
| 11600053 | BL Mitra 10 Kq | 1 BOX | 10 KG |
| 11650053 | Thighstick Frozen Pack | 1 BOX | 10 KG |
| 11750050 | Fillet Mitra 10 Kq | 1 | 10 KG |
| 65 | 130 |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
Not Found - noPO:
Not Found - noSO:
Not Found - tanggal:
Not Found - vendorInfo:
Not Found - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Final items after SKU validation (6 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11140062 | 11140062 | AMPELA 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11150064 | 11150064 | HATI 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11310014 | 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 3 KRG | 60 PC |
| 11600053 | 11600053 | BONELESS LEG FROZEN 1 KG(*) | 1 BOX | 10 KG |
| 11650053 | 11650053 | PAHA ATAS 1 KG(*) | 1 BOX | 10 KG |
| 11750050 | 11750050 | FILLET MITRA 1 KG(*) | 1 BOX | 10 KG |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11140062 | 11140062 | AMPELA 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11150064 | 11150064 | HATI 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11310014 | 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 3 KRG | 60 PC |
| 11600053 | 11600053 | BONELESS LEG FROZEN 1 KG(*) | 1 BOX | 10 KG |
| 11650053 | 11650053 | PAHA ATAS 1 KG(*) | 1 BOX | 10 KG |
| 11750050 | 11750050 | FILLET MITRA 1 KG(*) | 1 BOX | 10 KG |
15. Sample DO PFM-page-00001.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0.08° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PT. CHAROEN ROKPHAND INDONESIA TBK
KAWASAN INDUSTRI MODERN,
BANTEN
00:25:03
.
Tanggal : 23 April 2026
No.SO : 1691879196
No. DO : 1659905109
# DELIVERY ORDER
Kepada : Kepala Gudang
00194611
No. PO : PO/26/0000150175
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : PFM-KU
Alamat : JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN, JAKARTA UTARA, 14430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>17210109</td><td style='text-align: center; word-wrap: break-word;'>FIESTA RTS BEEF BULGOGI 300G SPAC</td><td style='text-align: center; word-wrap: break-word;'>1 BOX</td><td style='text-align: center; word-wrap: break-word;'>8 PAC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>ASLI</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>8</td></tr><tr><td colspan="4">Truck No. B 9948 VCC PH PANDU RAYA | JL PANDU RAYA/H ACHMAD ADNAWIJIN Y NO.68 RT1/RW15, TEGAL GUNDIL B OGOR, IDN16152 I <img src="imgs/img_in_image_box_523_892_784_1037.jpg" alt="Image"" /></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Penerima Barang</td><td style='text-align: center; word-wrap: break-word;'>Bag. Pengeluaran Barang</td><td colspan="2">Bagian Penjualan</td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_chart_box_67_895_333_1000.jpg" alt="Image" width="15%" /></div>
<div style="text-align: center;"><img src="imgs/img_in_seal_box_1029_787_1322_1068.jpg" alt="Image" width="16%" /></div>
Lembar 1: Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
<div style="text-align: center;"><img src="imgs/img_in_footer_image_box_1559_1162_1720_1215.jpg" alt="Image" width="9%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659905109 - noPO:
PO/26/0000150175 - noSO:
1691879196 - tanggal:
23 April 2026 - vendorInfo:
PT. CHAROEN ROKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9948 VCC
Raw items (3 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 17210109 | FIESTA RTS B/BULGOGI 300GR/PAC | 1 BOX | 8 PAC |
| Truck No. B 9948 VCC PH PANDU RAYA | JL PANDU RAYA/H ACHMAD ADNAWIJIN Y NO.68 RT1/RW15, TEGAL GUNDIL B OGOR, IDN16152 I | Truck No. B 9948 VCC PH PANDU RAYA | JL PANDU RAYA/H ACHMAD ADNAWIJIN Y NO.68 RT1/RW15, TEGAL GUNDIL B OGOR, IDN16152 I | Truck No. B 9948 VCC PH PANDU RAYA | JL PANDU RAYA/H ACHMAD ADNAWIJIN Y NO.68 RT1/RW15, TEGAL GUNDIL B OGOR, IDN16152 I | Truck No. B 9948 VCC PH PANDU RAYA | JL PANDU RAYA/H ACHMAD ADNAWIJIN Y NO.68 RT1/RW15, TEGAL GUNDIL B OGOR, IDN16152 I |
| Bag. Pengeluaran Barang | Bagian Penjualan | Bagian Penjualan |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659905109 - noPO:
PO/26/0000150175 - noSO:
1691879196 - tanggal:
23 April 2026 - vendorInfo:
PT. CHAROEN ROKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9948 VCC
Sanitized items (3 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 17210109 | FIESTA RTS BEEF BULGOGI 300G SPAC | 1 BOX | 8 PAC |
| Truck No. B 9948 VCC PH PANDU RAYA | JL PANDU RAYA/H ACHMAD ADNAWIJIN Y NO.68 RT1/RW15, TEGAL GUNDIL B OGOR, IDN16152 I | Truck No. B 9948 VCC PH PANDU RAYA | JL PANDU RAYA/H ACHMAD ADNAWIJIN Y NO.68 RT1/RW15, TEGAL GUNDIL B OGOR, IDN16152 I | Truck No. B 9948 VCC PH PANDU RAYA | JL PANDU RAYA/H ACHMAD ADNAWIJIN Y NO.68 RT1/RW15, TEGAL GUNDIL B OGOR, IDN16152 I | Truck No. B 9948 VCC PH PANDU RAYA | JL PANDU RAYA/H ACHMAD ADNAWIJIN Y NO.68 RT1/RW15, TEGAL GUNDIL B OGOR, IDN16152 I |
| Bag. Pengeluaran Barang | Bagian Penjualan | Bagian Penjualan |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659905109 - noPO:
PO/26/0000150175 - noSO:
1691879196 - tanggal:
23 April 2026 - vendorInfo:
PT. CHAROEN ROKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9948 VCC
Final items after SKU validation (1 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 17210109 | 17210109 | FIESTA RTS B/BULGOGI 300GR/PAC | 1 BOX | 8 PAC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 17210109 | 17210109 | FIESTA RTS B/BULGOGI 300GR/PAC | 1 BOX | 8 PAC |
16. Sample DO PFM-page-00002.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PT. CHAROEN POKPHAND INDONESIA TBK
KAWASAN INDUSTRI MODERN,
BANTEN
06:50:01
Kepada : Kepala Gudang
00527820
Tanggal : 17 April 2026
No. SO : 1691871022
## DELIVERY ORDER
No. DO : 1659897809
No. PO : PO/26/0000142266
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : PFM-KU
Alamat : JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN, JAKARTA UTARA, 14430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11110074\n11310021</td><td style='text-align: center; word-wrap: break-word;'>Ceker 1 KG Frozen\nGriller Size B Frozen (1000-1100 G) PC\nASLI</td><td style='text-align: center; word-wrap: break-word;'>1 KRG\n1 KRG</td><td style='text-align: center; word-wrap: break-word;'>20 KG\n20 PC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>21</td><td style='text-align: center; word-wrap: break-word;'>40</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Truck No. B 9599 CXS\nP M NEW BINTARO :\nJURANGMANGGU TI\n<img src="imgs/img_in_image_box_528_853_791_1041.jpg" alt="Image"" /></td><td style='text-align: center; word-wrap: break-word;'>NTARO U <img src="imgs/img_in_seal_box_914_788_1198_1002.jpg" alt="Image"" /> Bag. Pengekaran Barang</td><td colspan="2">WH 01 / 01\nZA NO 17 RT 01 RW011 KEL. Baglan Penjualan</td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_chart_box_38_825_338_1039.jpg" alt="Image" width="17%" /></div>
Lembar 1: Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
<div style="text-align: center;"><img src="imgs/img_in_footer_image_box_1559_1162_1720_1216.jpg" alt="Image" width="9%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659897809 - noPO:
PO/26/0000142266 - noSO:
1691871022 - tanggal:
17 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9599 CXS
Raw items (5 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11110074 | CEKER 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11310021 | AYAM SIZE BESAR (B) FROZ (1-1.1)KG/PC(*) | 1 KRG | 20 PC |
| Truck No. B 9599 CXS | NTARO U Bag. Pengekaran Barang | WH 01 / 01 | WH 01 / 01 |
| P M NEW BINTARO : | ZA NO 17 RT 01 RW011 KEL. Baglan Penjualan | ZA NO 17 RT 01 RW011 KEL. Baglan Penjualan | |
| JURANGMANGGU TI | 1 |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659897809 - noPO:
PO/26/0000142266 - noSO:
1691871022 - tanggal:
17 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9599 CXS
Sanitized items (5 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11110074 | Ceker 1 KG Frozen | 1 KRG | 20 KG |
| 11310021 | Griller Size B Frozen (1000-1100 G) PC | 1 KRG | 20 PC |
| Truck No. B 9599 CXS | NTARO U Bag. Pengekaran Barang | WH 01 / 01 | WH 01 / 01 |
| P M NEW BINTARO : | ZA NO 17 RT 01 RW011 KEL. Baglan Penjualan | ZA NO 17 RT 01 RW011 KEL. Baglan Penjualan | |
| JURANGMANGGU TI | 1 |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659897809 - noPO:
PO/26/0000142266 - noSO:
1691871022 - tanggal:
17 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9599 CXS
Final items after SKU validation (2 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11110074 | 11110074 | CEKER 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11310021 | 11310021 | AYAM SIZE BESAR (B) FROZ (1-1.1)KG/PC(*) | 1 KRG | 20 PC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11110074 | 11110074 | CEKER 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11310021 | 11310021 | AYAM SIZE BESAR (B) FROZ (1-1.1)KG/PC(*) | 1 KRG | 20 PC |
17. Sample DO PFM-page-00003.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0.14° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PI KAWASAN INDUSTRI MODERN, INDONESIA TBK
BANTEN
07:02:48
Tanggal : 17.A0511.2026
No. SO : 1691870689
Kepada :.Kepala Gudang
No. DO : 1659897396
00527857
No. PO : PO/26/0000142693
## DELIVERY ORDER
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : PFM-KU
Alamat : JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN, JAKARTA UTARA, 14430
JAKARTA UTARA
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310024\n11640053</td><td style='text-align: center; word-wrap: break-word;'>✓ Griller Size A Frozen (900-1000 G) PC\n✓ Bone In Leg Frozen Pack\nASLI</td><td style='text-align: center; word-wrap: break-word;'>2\n10</td><td style='text-align: center; word-wrap: break-word;'>40 PC\n10 KG</td></tr><tr><td colspan="2">Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>50</td><td style='text-align: center; word-wrap: break-word;'>50</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Truck No.</td><td style='text-align: center; word-wrap: break-word;'>B 9254 SCG\nP M TAMAN DUTA CIBODAS / JL. DUTA RAYA E NG JAYA, PRIUK TANG</td><td colspan="2">WH 01 / 01\nPERUM TAMAN CIBODAS, SANGIA</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Penerima Barang</td><td style='text-align: center; word-wrap: break-word;'>Tanda Tangan Supir</td><td style='text-align: center; word-wrap: break-word;'>Bag. Pengeluaran Barang</td><td style='text-align: center; word-wrap: break-word;'>Bagian Penjualan</td></tr></table>
Lembar 1: Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
<div style="text-align: center;"><img src="imgs/img_in_footer_image_box_1558_1161_1720_1216.jpg" alt="Image" width="9%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659897396 - noPO:
PO/26/0000142693 - noSO:
1691870689 - tanggal:
Not Found - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9254 SCG
Raw items (4 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 2 KRG | 40 PC |
| 11640053 | PAHA UTUH (1 KG)(*) | 10 BAG | 10 KG |
| Truck No. | B 9254 SCG | WH 01 / 01 PERUM TAMAN CIBODAS, SANGIA | WH 01 / 01 |
| P M TAMAN DUTA CIBODAS / JL. DUTA RAYA E NG JAYA, PRIUK TANG | 1 | PERUM TAMAN CIBODAS, SANGIA |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659897396 - noPO:
PO/26/0000142693 - noSO:
1691870689 - tanggal:
Not Found - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9254 SCG
Sanitized items (4 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11310024 | ✓ Griller Size A Frozen (900-1000 G) PC | 2 KRG | 40 PC |
| 11640053 | ✓ Bone In Leg Frozen Pack | 10 BAG | 10 KG |
| Truck No. | B 9254 SCG | WH 01 / 01 PERUM TAMAN CIBODAS, SANGIA | WH 01 / 01 |
| P M TAMAN DUTA CIBODAS / JL. DUTA RAYA E NG JAYA, PRIUK TANG | 1 | PERUM TAMAN CIBODAS, SANGIA |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659897396 - noPO:
PO/26/0000142693 - noSO:
1691870689 - tanggal:
Not Found - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9254 SCG
Final items after SKU validation (2 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 2 KRG | 40 PC |
| 11640053 | 11640053 | PAHA UTUH (1 KG)(*) | 10 BAG | 10 KG |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 2 KRG | 40 PC |
| 11640053 | 11640053 | PAHA UTUH (1 KG)(*) | 10 BAG | 10 KG |
18. Sample DO PFM-page-00004.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0.02° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
<div style="text-align: center;"><img src="imgs/img_in_image_box_18_0_86_66.jpg" alt="Image" width="3%" /></div>
PT. CHAROEN POKPHANO INDONESIA TBK
KAWASAN INDUSTRI MOOERN,
BANTEN
06:29:25
Tanggal : 14 April 2026
No.SO : 1691865548
No. DO : 1659892421
00005997
Kepada : Kepala Gudang
No.PO : PO/26/0000137547
# DELIVERY ORDER
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : PFM-KU
Alamat : JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN.
JAKARTA UTARA, 14430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310014\n11310024\n11710051</td><td style='text-align: center; word-wrap: break-word;'>Griller Size 2 ( 20 Ekor ) Frozen\nGriller Size A Frozen (900-1000 G) PC\nBone In Breast Frozen Pack</td><td style='text-align: center; word-wrap: break-word;'>3\n7\n10</td><td style='text-align: center; word-wrap: break-word;'>60 PC\n140 PC\n10 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>210</td><td style='text-align: center; word-wrap: break-word;'>210</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Truck No. B 9053 VCF\nPANTASMITA | JL ARIA SANTIKA, SASHITA, KARA <img src="imgs/img_in_image_box_604_890_772_999.jpg" alt="Image"" />\nTanda Tangan Supir Bag. Pengeluaran Barang</td><td style='text-align: center; word-wrap: break-word;'><img src="imgs/img_in_seal_box_979_788_1219_998.jpg" alt="Image"" /></td><td style='text-align: center; word-wrap: break-word;'>WH 01 / 01\nTANGERANG, IDN15113 IDN</td><td style='text-align: center; word-wrap: break-word;'>Bagian Penjualan</td></tr></table>
Lombar 1: Customer
Bagian Penjualan
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa senggahan, segala CLAIM atas kekurangan barang tidak dapat kami taryani
<div style="text-align: center;"><img src="imgs/img_in_footer_image_box_1559_1162_1720_1216.jpg" alt="Image" width="9%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659892421 - noPO:
PO/26/0000137547 - noSO:
1691865548 - tanggal:
14 April 2026 - vendorInfo:
PT. CHAROEN POKPHANO INDONESIA TBK KAWASAN INDUSTRI MOOERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9053 VCF
Raw items (6 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 3 KRG | 60 PC |
| 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 7 KRG | 140 PC |
| 11710051 | DADA UTUH (1 KG)(*) | 10 BOX | 10 KG |
| Truck No. B 9053 VCF | WH 01 / 01 | Bagian Penjualan | |
| PANTASMITA | JL ARIA SANTIKA, SASHITA, KARA | TANGERANG, IDN15113 IDN | ||
| Tanda Tangan Supir Bag. Pengeluaran Barang | 1 |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659892421 - noPO:
PO/26/0000137547 - noSO:
1691865548 - tanggal:
14 April 2026 - vendorInfo:
PT. CHAROEN POKPHANO INDONESIA TBK KAWASAN INDUSTRI MOOERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9053 VCF
Sanitized items (6 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11310014 | Griller Size 2 ( 20 Ekor ) Frozen | 3 KRG | 60 PC |
| 11310024 | Griller Size A Frozen (900-1000 G) PC | 7 KRG | 140 PC |
| 11710051 | Bone In Breast Frozen Pack | 10 | 10 KG |
| Truck No. B 9053 VCF | WH 01 / 01 | Bagian Penjualan | |
| PANTASMITA | JL ARIA SANTIKA, SASHITA, KARA | TANGERANG, IDN15113 IDN | ||
| Tanda Tangan Supir Bag. Pengeluaran Barang | 1 |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659892421 - noPO:
PO/26/0000137547 - noSO:
1691865548 - tanggal:
14 April 2026 - vendorInfo:
PT. CHAROEN POKPHANO INDONESIA TBK KAWASAN INDUSTRI MOOERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9053 VCF
Final items after SKU validation (3 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11310014 | 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 3 KRG | 60 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 7 KRG | 140 PC |
| 11710051 | 11710051 | DADA UTUH (1 KG)(*) | 10 BOX | 10 KG |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11310014 | 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 3 KRG | 60 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 7 KRG | 140 PC |
| 11710051 | 11710051 | DADA UTUH (1 KG)(*) | 10 BOX | 10 KG |
19. Sample DO PFM-page-00005.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0.04° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PT. CHAROEN POKPHAND INDONESIA
KAWASAN INDUSTRI MODERN,
BANTEN
02:34:54
Tanggal : 09 April 2026
No. SO : 1691859106
'No. DO : 1659886692
No. PO : P0/26/0000131178
## DELIVERY ORDER
Kepada :.Kepala Gudang
00506101
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : DKI AREA
Alamat : JL. ANCOL. BARAT VIII/1, ANCOL, PADEMANGAN, JAKARTA UTARA, 14430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>JAKARTA UTARA</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>12010112</td><td style='text-align: center; word-wrap: break-word;'>865 Fiesta Chicken Nugget 400G ✓</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>BOX</td><td style='text-align: center; word-wrap: break-word;'>12 PAC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>12010124</td><td style='text-align: center; word-wrap: break-word;'>913 FIESTA CHEESY CHICKEN WITH BROCCOLI ✓</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>BOX</td><td style='text-align: center; word-wrap: break-word;'>12 PAC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>12010509</td><td style='text-align: center; word-wrap: break-word;'>829 Champ Crunchy Nugget 450 G ✓</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>BOX</td><td style='text-align: center; word-wrap: break-word;'>10 PAC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>12010521</td><td style='text-align: center; word-wrap: break-word;'>927 CHAMP NUGGET HOTZZ LEVEL 5 450 G ✓</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>BOX</td><td style='text-align: center; word-wrap: break-word;'>12 PAC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>12010606</td><td style='text-align: center; word-wrap: break-word;'>823 CHAMP CRUNCHY NUGGET 225G ✓</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>BOX</td><td style='text-align: center; word-wrap: break-word;'>25 PAC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>12030101</td><td style='text-align: center; word-wrap: break-word;'>864 Fiesta Stikie 400G ✓</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>BOX</td><td style='text-align: center; word-wrap: break-word;'>12 PAC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>13010514</td><td style='text-align: center; word-wrap: break-word;'>299 Champ Chicken Sausage 1 Kg FR ✓</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>BOX</td><td style='text-align: center; word-wrap: break-word;'>10 PAC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>13070502</td><td style='text-align: center; word-wrap: break-word;'>302 Champ Beef Sausage 375 GR Fr ✓</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>BOX</td><td style='text-align: center; word-wrap: break-word;'>24 PAC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>8</td><td colspan="2">117</td></tr><tr><td colspan="5">Truck No. B 9260 BXT PM SALAM RAYA | JL.SALAM RAYA RT.05 RW.03 KEL SUKABUMI ARTA BARAT,11540 IDN <img src="imgs/img_in_seal_box_1178_801_1596_1041.jpg" alt="Image"" /></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Penerima Barang</td><td style='text-align: center; word-wrap: break-word;'>Tanda Tangan Supir</td><td style='text-align: center; word-wrap: break-word;'>Bag. Pengeluaran Bara</td><td colspan="2">ijualan</td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_chart_box_31_827_326_1039.jpg" alt="Image" width="16%" /></div>
Lembar 1: Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
<div style="text-align: center;"><img src="imgs/img_in_footer_image_box_1559_1161_1720_1217.jpg" alt="Image" width="9%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659886692 - noPO:
PO/26/0000131178 - noSO:
1691859106 - tanggal:
09 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9260 BXT
Raw items (9 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 12010112 | FIESTA CHICKEN NUGGET 400 GR/PAC | 1 BOX | 12 PAC |
| 12010124 | FIESTA CHEESY CHIC W/BROCCOLI 400 GR/PAC | 1 BOX | 12 PAC |
| 12010509 | CHAMP CRUNCHY NUGGET 450 GR/PAC | 1 BOX | 10 PAC |
| 12010521 | CHAMP NUGGET HOTZZ LEVEL 5 450 GR/PAC | 1 BOX | 12 PAC |
| 12010606 | CHAMP CRUNCHY NUGGET 225 GR/PAC | 1 BOX | 25 PAC |
| 12030101 | FIESTA STIKIE 400 GR/PAC | 1 BOX | 12 PAC |
| 13010514 | CHAMP CHICK SSG 1000 GR | 1 BOX | 10 PAC |
| 13070502 | CHAMP BEEF SSG SERBAGUNA 375GR | 1 BOX | 24 PAC |
| Truck No. B 9260 BXT PM SALAM RAYA | JL.SALAM RAYA RT.05 RW.03 KEL SUKABUMI ARTA BARAT,11540 IDN | Truck No. B 9260 BXT PM SALAM RAYA | JL.SALAM RAYA RT.05 RW.03 KEL SUKABUMI ARTA BARAT,11540 IDN | Truck No. B 9260 BXT PM SALAM RAYA | JL.SALAM RAYA RT.05 RW.03 KEL SUKABUMI ARTA BARAT,11540 IDN Truck No. B 9260 BXT PM SALAM RAYA | JL.SALAM RAYA RT.05 RW.03 KEL SUKABUMI ARTA BARAT,11540 IDN | Truck No. B 9260 BXT PM SALAM RAYA | JL.SALAM RAYA RT.05 RW.03 KEL SUKABUMI ARTA BARAT,11540 IDN |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659886692 - noPO:
PO/26/0000131178 - noSO:
1691859106 - tanggal:
09 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9260 BXT
Sanitized items (9 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 12010112 | 865 Fiesta Chicken Nugget 400G ✓ | 1 BOX | 12 PAC |
| 12010124 | 913 FIESTA CHEESY CHICKEN WITH BROCCOLI ✓ | 1 BOX | 12 PAC |
| 12010509 | 829 Champ Crunchy Nugget 450 G ✓ | 1 BOX | 10 PAC |
| 12010521 | 927 CHAMP NUGGET HOTZZ LEVEL 5 450 G ✓ | 1 BOX | 12 PAC |
| 12010606 | 823 CHAMP CRUNCHY NUGGET 225G ✓ | 1 BOX | 25 PAC |
| 12030101 | 864 Fiesta Stikie 400G ✓ | 1 BOX | 12 PAC |
| 13010514 | 299 Champ Chicken Sausage 1 Kg FR ✓ | 1 BOX | 10 PAC |
| 13070502 | 302 Champ Beef Sausage 375 GR Fr ✓ | 1 BOX | 24 PAC |
| Truck No. B 9260 BXT PM SALAM RAYA | JL.SALAM RAYA RT.05 RW.03 KEL SUKABUMI ARTA BARAT,11540 IDN | Truck No. B 9260 BXT PM SALAM RAYA | JL.SALAM RAYA RT.05 RW.03 KEL SUKABUMI ARTA BARAT,11540 IDN | Truck No. B 9260 BXT PM SALAM RAYA | JL.SALAM RAYA RT.05 RW.03 KEL SUKABUMI ARTA BARAT,11540 IDN Truck No. B 9260 BXT PM SALAM RAYA | JL.SALAM RAYA RT.05 RW.03 KEL SUKABUMI ARTA BARAT,11540 IDN | Truck No. B 9260 BXT PM SALAM RAYA | JL.SALAM RAYA RT.05 RW.03 KEL SUKABUMI ARTA BARAT,11540 IDN |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659886692 - noPO:
PO/26/0000131178 - noSO:
1691859106 - tanggal:
09 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9260 BXT
Final items after SKU validation (8 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 12010112 | 12010112 | FIESTA CHICKEN NUGGET 400 GR/PAC | 1 BOX | 12 PAC |
| 12010124 | 12010124 | FIESTA CHEESY CHIC W/BROCCOLI 400 GR/PAC | 1 BOX | 12 PAC |
| 12010509 | 12010509 | CHAMP CRUNCHY NUGGET 450 GR/PAC | 1 BOX | 10 PAC |
| 12010521 | 12010521 | CHAMP NUGGET HOTZZ LEVEL 5 450 GR/PAC | 1 BOX | 12 PAC |
| 12010606 | 12010606 | CHAMP CRUNCHY NUGGET 225 GR/PAC | 1 BOX | 25 PAC |
| 12030101 | 12030101 | FIESTA STIKIE 400 GR/PAC | 1 BOX | 12 PAC |
| 13010514 | 13010514 | CHAMP CHICK SSG 1000 GR | 1 BOX | 10 PAC |
| 13070502 | 13070502 | CHAMP BEEF SSG SERBAGUNA 375GR | 1 BOX | 24 PAC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 12010112 | 12010112 | FIESTA CHICKEN NUGGET 400 GR/PAC | 1 BOX | 12 PAC |
| 12010124 | 12010124 | FIESTA CHEESY CHIC W/BROCCOLI 400 GR/PAC | 1 BOX | 12 PAC |
| 12010509 | 12010509 | CHAMP CRUNCHY NUGGET 450 GR/PAC | 1 BOX | 10 PAC |
| 12010521 | 12010521 | CHAMP NUGGET HOTZZ LEVEL 5 450 GR/PAC | 1 BOX | 12 PAC |
| 12010606 | 12010606 | CHAMP CRUNCHY NUGGET 225 GR/PAC | 1 BOX | 25 PAC |
| 12030101 | 12030101 | FIESTA STIKIE 400 GR/PAC | 1 BOX | 12 PAC |
| 13010514 | 13010514 | CHAMP CHICK SSG 1000 GR | 1 BOX | 10 PAC |
| 13070502 | 13070502 | CHAMP BEEF SSG SERBAGUNA 375GR | 1 BOX | 24 PAC |
20. Sample DO PFM-page-00006.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
3.25° - Auto-unwarped:
Yes
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PT. CHAROEN POKPHAND INDONESIA TBK 6
KAWASAN INDUSTRI MODERN,
BANTEN
Tbk 6 04:09:04
Kepada : Kepala Gudang
Tanggal : 16 April 2026
00343957
No. SO : 1691868563
No. DO : 1659895333
## DELIVERY ORDER
No. PO : PO/26/0000140625
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : DKI AREA
Alamat : JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN, JAKARTA UTARA, 14430
TAKARTA UTADA
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11140062</td><td style='text-align: center; word-wrap: break-word;'>Ampela 1 KG Frozen</td><td style='text-align: center; word-wrap: break-word;'>20</td><td style='text-align: center; word-wrap: break-word;'>20 KG ✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310014</td><td style='text-align: center; word-wrap: break-word;'>Griller Size 2 ( 20 Ekor ) Frozen</td><td style='text-align: center; word-wrap: break-word;'>5</td><td style='text-align: center; word-wrap: break-word;'>100 PC ✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310024</td><td style='text-align: center; word-wrap: break-word;'>Griller Size A Frozen (900-1000 G) PC</td><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>40 PC ✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11660050</td><td style='text-align: center; word-wrap: break-word;'>Drumstick Frozen Pack</td><td style='text-align: center; word-wrap: break-word;'>10</td><td style='text-align: center; word-wrap: break-word;'>10 KG ✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>170</td><td style='text-align: center; word-wrap: break-word;'>170</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>B 9365 AI\nTRUCK NO. PM REMPOA | JL. IDN <img src="imgs/img_in_seal_box_508_870_779_1069.jpg" alt="Image"" /></td><td style='text-align: center; word-wrap: break-word;'>REMPOA RAYA), C <img src="imgs/img_in_seal_box_1050_813_1318_1028.jpg" alt="Image"" /></td><td colspan="2">WH 01 / 01\nG SELATAN, IDN15A12</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Penerima Barang</td><td style='text-align: center; word-wrap: break-word;'>Bag. Pengeluaran Barang</td><td colspan="2">Bagian Penjualan</td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_seal_box_2_900_401_1082.jpg" alt="Image" width="22%" /></div>
REMPOA
embar 1 : Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
Dipindai dengan
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659895333 - noPO:
PO/26/0000140625 - noSO:
1691868563 - tanggal:
16 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK 6 KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9365 AI
Raw items (7 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11140062 | AMPELA 1 KG FROZEN (20 PAC/KARUNG)(*) | 20 KRG | 20 KG |
| 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 5 KRG | 100 PC |
| 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 2 KRG | 40 PC |
| 11660050 | PAHA BAWAH (1 KG)(*) | 10 BOX | 10 KG |
| B 9365 AI | REMPOA RAYA), C | WH 01 / 01 | WH 01 / 01 |
| TRUCK NO. PM REMPOA | JL. IDN | G SELATAN, IDN15A12 | G SELATAN, IDN15A12 | |
| Bag. Pengeluaran Barang | Bagian Penjualan | Bagian Penjualan |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659895333 - noPO:
PO/26/0000140625 - noSO:
1691868563 - tanggal:
16 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK 6 KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9365 AI
Sanitized items (7 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11140062 | Ampela 1 KG Frozen | 20 | 20 KG |
| 11310014 | Griller Size 2 ( 20 Ekor ) Frozen | 5 KRG | 100 PC |
| 11310024 | Griller Size A Frozen (900-1000 G) PC | 2 KRG | 40 PC |
| 11660050 | Drumstick Frozen Pack | 10 | 10 KG |
| B 9365 AI | REMPOA RAYA), C | WH 01 / 01 | WH 01 / 01 |
| TRUCK NO. PM REMPOA | JL. IDN | G SELATAN, IDN15A12 | G SELATAN, IDN15A12 | |
| Bag. Pengeluaran Barang | Bagian Penjualan | Bagian Penjualan |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659895333 - noPO:
PO/26/0000140625 - noSO:
1691868563 - tanggal:
16 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK 6 KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9365 AI
Final items after SKU validation (4 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11140062 | 11140062 | AMPELA 1 KG FROZEN (20 PAC/KARUNG)(*) | 20 KRG | 20 KG |
| 11310014 | 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 5 KRG | 100 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 2 KRG | 40 PC |
| 11660050 | 11660050 | PAHA BAWAH (1 KG)(*) | 10 BOX | 10 KG |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11140062 | 11140062 | AMPELA 1 KG FROZEN (20 PAC/KARUNG)(*) | 20 KRG | 20 KG |
| 11310014 | 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 5 KRG | 100 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 2 KRG | 40 PC |
| 11660050 | 11660050 | PAHA BAWAH (1 KG)(*) | 10 BOX | 10 KG |
21. Sample DO PFM-page-00007.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0.18° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN. BANTEN
05:54:31 / 1 of Tanggal : 16 April 2026
No. SO : 1691869400
No. DO : 1659896184
No. PO : PO/26/0000140731
Kepada : Kepala Gudang
00527181
## DELIVERY ORDER
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : DKI AREA
Alamat : JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN, JAKARTA UTARA, 14430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>12010111\n12010509\n12010511\n12010512\n12010606\n12012202\n12030101\n12060104</td><td style='text-align: center; word-wrap: break-word;'>830 Fiesta Crispy Bubble Nugget 400 G\n829 Champ Crunchy Nugget 450 G\n887 Champ Nagat Awam Kombinasi 450 G\n888 Champ Nagat Ayah Kombinasi 900 G\n823 CHAMP CRUNCHY NUGGET 225G\n749 Asimo Nagat Kombinasi 1000 Gr\n864 Fiesta Stikie 400G\n868 FIESTA KARAGE 400Gr</td><td style='text-align: center; word-wrap: break-word;'>1 ✓ BOX\n1 ✓ BOX\n1 ✓ BOX\n1 ✓ BOX\n1 ✓ BOX\n1 ✓ BOX</td><td style='text-align: center; word-wrap: break-word;'>12 PAC\n10 PAC\n12 PAC\n6 PAC\n25 PAC\n5 PAC\n12 PAC\n12 PAC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td rowspan="2"><img src="imgs/img_in_seal_box_28_604_283_747.jpg" alt="Image"" /></td><td style='text-align: center; word-wrap: break-word;'>XT\nTORE - PM WARUNG JATI TIMUR RAYA ; KALIBATA KEC</td><td style='text-align: center; word-wrap: break-word;'><img src="imgs/img_in_seal_box_689_578_876_728.jpg" alt="Image"" /></td><td style='text-align: center; word-wrap: break-word;'>WH 01 / 01\nI TIMUR NO 26 RT.07 RM.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Tanda Tangan Supir</td><td style='text-align: center; word-wrap: break-word;'>Bag. Pengeluaran Barang</td><td style='text-align: center; word-wrap: break-word;'>Bagian Penjualan</td></tr></table>
Lembar 1: Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659896184 - noPO:
PO/26/0000140731 - noSO:
1691869400 - tanggal:
16 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN. BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Raw items (11 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 12010111 | FIESTA CRISPY BUBBLE 400 GR/PAC | 1 BOX | 12 PAC |
| 12010509 | CHAMP CRUNCHY NUGGET 450 GR/PAC | 1 BOX | 10 PAC |
| 12010511 | CHAMP NUGGET AYAM 450 GR/PAC | 1 BOX | 12 PAC |
| 12010512 | CHAMP NUGGET AYAM 900 GR/PAC | 1 BOX | 6 PAC |
| 12010606 | CHAMP CRUNCHY NUGGET 225 GR/PAC | 1 BOX | 25 PAC |
| 12012202 | ASIMO NUGGET KOMBINASI 1 KG/PAC | 1 BOX | 5 PAC |
| 12030101 | FIESTA STIKIE 400 GR/PAC | 1 BOX | 12 PAC |
| 12060104 | FIESTA KARAGE 400 GR/PAC | 1 BOX | 12 PAC |
| XT | 1 | WH 01 / 01 | |
| TORE - PM WARUNG JATI TIMUR RAYA ; KALIBATA KEC | 1 | I TIMUR NO 26 RT.07 RM. | |
| Bag. Pengeluaran Barang | Bagian Penjualan |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659896184 - noPO:
PO/26/0000140731 - noSO:
1691869400 - tanggal:
16 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN. BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Sanitized items (11 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 12010111 | 830 Fiesta Crispy Bubble Nugget 400 G | 1 BOX | 12 PAC |
| 12010509 | 829 Champ Crunchy Nugget 450 G | 1 BOX | 10 PAC |
| 12010511 | 887 Champ Nagat Awam Kombinasi 450 G | 1 BOX | 12 PAC |
| 12010512 | 888 Champ Nagat Ayah Kombinasi 900 G | 1 BOX | 6 PAC |
| 12010606 | 823 CHAMP CRUNCHY NUGGET 225G | 1 BOX | 25 PAC |
| 12012202 | 749 Asimo Nagat Kombinasi 1000 Gr | 1 BOX | 5 PAC |
| 12030101 | 864 Fiesta Stikie 400G | 1 BOX | 12 PAC |
| 12060104 | 868 FIESTA KARAGE 400Gr | 1 BOX | 12 PAC |
| XT | 1 | WH 01 / 01 | |
| TORE - PM WARUNG JATI TIMUR RAYA ; KALIBATA KEC | 1 | I TIMUR NO 26 RT.07 RM. | |
| Bag. Pengeluaran Barang | Bagian Penjualan |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659896184 - noPO:
PO/26/0000140731 - noSO:
1691869400 - tanggal:
16 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN. BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk: empty
Final items after SKU validation (8 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 12010111 | 12010111 | FIESTA CRISPY BUBBLE 400 GR/PAC | 1 BOX | 12 PAC |
| 12010509 | 12010509 | CHAMP CRUNCHY NUGGET 450 GR/PAC | 1 BOX | 10 PAC |
| 12010511 | 12010511 | CHAMP NUGGET AYAM 450 GR/PAC | 1 BOX | 12 PAC |
| 12010512 | 12010512 | CHAMP NUGGET AYAM 900 GR/PAC | 1 BOX | 6 PAC |
| 12010606 | 12010606 | CHAMP CRUNCHY NUGGET 225 GR/PAC | 1 BOX | 25 PAC |
| 12012202 | 12012202 | ASIMO NUGGET KOMBINASI 1 KG/PAC | 1 BOX | 5 PAC |
| 12030101 | 12030101 | FIESTA STIKIE 400 GR/PAC | 1 BOX | 12 PAC |
| 12060104 | 12060104 | FIESTA KARAGE 400 GR/PAC | 1 BOX | 12 PAC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 12010111 | 12010111 | FIESTA CRISPY BUBBLE 400 GR/PAC | 1 BOX | 12 PAC |
| 12010509 | 12010509 | CHAMP CRUNCHY NUGGET 450 GR/PAC | 1 BOX | 10 PAC |
| 12010511 | 12010511 | CHAMP NUGGET AYAM 450 GR/PAC | 1 BOX | 12 PAC |
| 12010512 | 12010512 | CHAMP NUGGET AYAM 900 GR/PAC | 1 BOX | 6 PAC |
| 12010606 | 12010606 | CHAMP CRUNCHY NUGGET 225 GR/PAC | 1 BOX | 25 PAC |
| 12012202 | 12012202 | ASIMO NUGGET KOMBINASI 1 KG/PAC | 1 BOX | 5 PAC |
| 12030101 | 12030101 | FIESTA STIKIE 400 GR/PAC | 1 BOX | 12 PAC |
| 12060104 | 12060104 | FIESTA KARAGE 400 GR/PAC | 1 BOX | 12 PAC |
22. Sample DO PFM-page-00008.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0.17° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN
06:19:13
Tanggal : 11 May 2026
No. SO : 1691903313
## DELIVERY ORDER
No. DO : 1659927197
00194641
No. PO : PO/26/0000172403
Kepada : Kepala Gudang
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : PFM-KU
Alamat : JL. ANCOL. BARAT VIII/1, ANCOL, PADEMANGAN,
JAKARTA UTARA, 14430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>JAKARTA UTARA</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>12012501\n12030403\n15010101</td><td style='text-align: center; word-wrap: break-word;'>600 Akumo Chicken Naget 250 Gr\n065 Golden Fiesta Stikie w Swt Chl Sc 50\n901 Fiesta Frenchy Shoestring 500 GR</td><td style='text-align: center; word-wrap: break-word;'>1\n1\n1</td><td style='text-align: center; word-wrap: break-word;'>BOX\nBOX\nBOX</td><td style='text-align: center; word-wrap: break-word;'>20 PAC\n10 PAC\n12 PAC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>42</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Truck No. B 9683 VCF\nPM RAWA BUNTU | JL.F <img src="imgs/img_in_image_box_586_788_771_995.jpg" alt="Image"" /> JTARA BLOK UA NO 16 PT. 2 <img src="imgs/img_in_seal_box_1200_828_1490_992.jpg" alt="Image"" /> N. SERP\nPenerima Barang</td><td style='text-align: center; word-wrap: break-word;'>Tanda Tangan Supir</td><td style='text-align: center; word-wrap: break-word;'>Bag. Pengeluaran Barang</td><td colspan="2">Bagian Penjualan</td></tr></table>
Lembar 1: Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
<div style="text-align: center;"><img src="imgs/img_in_footer_image_box_1559_1162_1720_1216.jpg" alt="Image" width="9%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659927197 - noPO:
PO/26/0000172403 - noSO:
1691903313 - tanggal:
11 May 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9683 VCF
Raw items (5 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 12012501 | AKUMO CHICKEN NAGET 250 GR | 1 BOX | 20 PAC |
| 12030403 | GOLDEN FIESTA STIKIE W/ SWEET CHILLI SAUCE 500GR | 1 BOX | 10 PAC |
| 15010101 | FIESTA SHOESTRING 500 GR | 1 BOX | 12 PAC |
| Truck No. B 9683 VCF | Bag. Pengeluaran Barang Bagian Penjualan | Bagian Penjualan | |
| PM RAWA BUNTU | JL.F JTARA BLOK UA NO 16 PT. 2 N. SERP | 1 |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659927197 - noPO:
PO/26/0000172403 - noSO:
1691903313 - tanggal:
11 May 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9683 VCF
Sanitized items (5 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 12012501 | 600 Akumo Chicken Naget 250 Gr | 1 BOX | 20 PAC |
| 12030403 | 065 Golden Fiesta Stikie w Swt Chl Sc 50 | 1 BOX | 10 PAC |
| 15010101 | 901 Fiesta Frenchy Shoestring 500 GR | 1 BOX | 12 PAC |
| Truck No. B 9683 VCF | Bag. Pengeluaran Barang Bagian Penjualan | Bagian Penjualan | |
| PM RAWA BUNTU | JL.F JTARA BLOK UA NO 16 PT. 2 N. SERP | 1 |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659927197 - noPO:
PO/26/0000172403 - noSO:
1691903313 - tanggal:
11 May 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9683 VCF
Final items after SKU validation (3 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 12012501 | 12012501 | AKUMO CHICKEN NAGET 250 GR | 1 BOX | 20 PAC |
| 12030403 | 12030403 | GOLDEN FIESTA STIKIE W/ SWEET CHILLI SAUCE 500GR | 1 BOX | 10 PAC |
| 15010101 | 15010101 | FIESTA SHOESTRING 500 GR | 1 BOX | 12 PAC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 12012501 | 12012501 | AKUMO CHICKEN NAGET 250 GR | 1 BOX | 20 PAC |
| 12030403 | 12030403 | GOLDEN FIESTA STIKIE W/ SWEET CHILLI SAUCE 500GR | 1 BOX | 10 PAC |
| 15010101 | 15010101 | FIESTA SHOESTRING 500 GR | 1 BOX | 12 PAC |
23. Sample DO PFM-page-00009.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PT. CHAROEN POKPHAND INDONESIA
KAWASAN INDUSTRI KODERN, BANTEN
05:05:45
Kepada : Kepala Gudang
00222419
Tanggal : 05 May 2026
No. SO : 1691895167
No. DO : 1659919748
## DELIVERY ORDER
No. PO : PO/26/0000164942
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : DKI AREA
Alamat : JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN, JAKARTA UTARA. 14430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>12010111\n12010129\n12010606\n12060104\n15040102</td><td style='text-align: center; word-wrap: break-word;'>830 Fiesta Crispy Bubble Mugget 400 G\n947 Fiesta Cheesy Bambo Chicken Mugget 4\n823 CHAMP CRUMING COUT 225G\n868 FIESTA KAMAL ACOU</td><td style='text-align: center; word-wrap: break-word;'>1 BOX\n1 BOX\n1 BOX\n1 BOX</td><td style='text-align: center; word-wrap: break-word;'>12 PAC\n12 PAC\n25 PAC\n12 PAC\n12 PAC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>5</td><td style='text-align: center; word-wrap: break-word;'>73</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Truck No. B 9042 VCC\nMOTHER STORE - PM WARUNG JATI TIMUR R\n04 KEL. KALIBATA KEC\nMURK KIDS UNGGAS\nHargas\nRenerima Barang</td><td style='text-align: center; word-wrap: break-word;'>Tanda Tangan Supir</td><td style='text-align: center; word-wrap: break-word;'>Bag. Pengeluaran Barang</td><td style='text-align: center; word-wrap: break-word;'>Bagian Penjualan</td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_image_box_11_815_354_1024.jpg" alt="Image" width="19%" /></div>
Lembar 1: Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
<div style="text-align: center;"><img src="imgs/img_in_footer_image_box_1558_1162_1721_1217.jpg" alt="Image" width="9%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659919748 - noPO:
PO/26/0000164942 - noSO:
1691895167 - tanggal:
05 May 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA KAWASAN INDUSTRI KODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9042 VCC
Raw items (11 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 12010111 | FIESTA CRISPY BUBBLE 400 GR/PAC | 1 BOX | 12 PAC |
| 12010129 | FIESTA CHEESY BOMBS CHICKEN NUGGET 400 GR | 1 BOX | 12 PAC |
| 12010606 | CHAMP CRUNCHY NUGGET 225 GR/PAC | 1 BOX | 25 PAC |
| 12060104 | FIESTA KARAGE 400 GR/PAC | 1 BOX | 12 PAC |
| 15040102 | FIESTA BATTER COATED 1000 GR | 1 BOX | 12 PAC |
| Truck No. B 9042 VCC | Bag. Pengeluaran Barang | Bagian Penjualan | |
| MOTHER STORE - PM WARUNG JATI TIMUR R | 1 | ||
| 04 KEL. KALIBATA KEC | 1 | ||
| MURK KIDS UNGGAS | 1 | ||
| Hargas | 1 | ||
| Renerima Barang | 1 |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659919748 - noPO:
PO/26/0000164942 - noSO:
1691895167 - tanggal:
05 May 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA KAWASAN INDUSTRI KODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9042 VCC
Sanitized items (11 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 12010111 | 830 Fiesta Crispy Bubble Mugget 400 G | 1 BOX | 12 PAC |
| 12010129 | 947 Fiesta Cheesy Bambo Chicken Mugget 4 | 1 BOX | 12 PAC |
| 12010606 | 823 CHAMP CRUMING COUT 225G | 1 BOX | 25 PAC |
| 12060104 | 868 FIESTA KAMAL ACOU | 1 BOX | 12 PAC |
| 15040102 | 1 | 12 PAC | |
| Truck No. B 9042 VCC | Bag. Pengeluaran Barang | Bagian Penjualan | |
| MOTHER STORE - PM WARUNG JATI TIMUR R | 1 | ||
| 04 KEL. KALIBATA KEC | 1 | ||
| MURK KIDS UNGGAS | 1 | ||
| Hargas | 1 | ||
| Renerima Barang | 1 |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659919748 - noPO:
PO/26/0000164942 - noSO:
1691895167 - tanggal:
05 May 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA KAWASAN INDUSTRI KODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9042 VCC
Final items after SKU validation (5 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 12010111 | 12010111 | FIESTA CRISPY BUBBLE 400 GR/PAC | 1 BOX | 12 PAC |
| 12010129 | 12010129 | FIESTA CHEESY BOMBS CHICKEN NUGGET 400 GR | 1 BOX | 12 PAC |
| 12010606 | 12010606 | CHAMP CRUNCHY NUGGET 225 GR/PAC | 1 BOX | 25 PAC |
| 12060104 | 12060104 | FIESTA KARAGE 400 GR/PAC | 1 BOX | 12 PAC |
| 15040102 | 15040102 | FIESTA BATTER COATED 1000 GR | 1 BOX | 12 PAC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 12010111 | 12010111 | FIESTA CRISPY BUBBLE 400 GR/PAC | 1 BOX | 12 PAC |
| 12010129 | 12010129 | FIESTA CHEESY BOMBS CHICKEN NUGGET 400 GR | 1 BOX | 12 PAC |
| 12010606 | 12010606 | CHAMP CRUNCHY NUGGET 225 GR/PAC | 1 BOX | 25 PAC |
| 12060104 | 12060104 | FIESTA KARAGE 400 GR/PAC | 1 BOX | 12 PAC |
| 15040102 | 15040102 | FIESTA BATTER COATED 1000 GR | 1 BOX | 12 PAC |
24. Sample DO PFM-page-00010.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PT. CHARQEN WOKPHAND INDONESIA TBK
KAWASAN INDUSTRI MODERN,
BANTEN
00:11:04
Tanggal : 06 May 2026
No. SO : 1691895765
Kepada : Kepala Gudang
No. DO : 1659920402
00118887
No. PO : PO/26/0000166040
# DELIVERY ORDER
Kepada Yth : PT PRIMAFOOD INTERNATIONAL
Order Untuk : PFM-KU
Alamat : JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN; JAKARTA UTARA, 14430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>JAKARTA UTARA</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310013\n11310014\n11310021\n11310024</td><td style='text-align: center; word-wrap: break-word;'>Griller Size 1 ( 30 Ekor ) Frozen\nGriller Size 2 ( 20 Ekor ) Frozen\nGriller Size B ( Frozen (1000-1100 G) PC\nGriller Size A (Frozen (900-1000 G) PC)</td><td style='text-align: center; word-wrap: break-word;'>3\n3\n5\n10</td><td style='text-align: center; word-wrap: break-word;'>KRG\nKRG\nKRG</td><td style='text-align: center; word-wrap: break-word;'>90 PC\n60 PC\n100 PC\n200 PC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>450</td><td colspan="2">450</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Truck No. B 9260 VCF\nPASAR PARUNG BOGOR | JL. TULANG KUNING - PASAR PARUNG DEH KARANJ TEA 01 RW.05 K\nWARU KEC, PARUNG <img src="imgs/img_in_image_box_524_930_777_996.jpg" alt="Image"" />\nTanda Tangan Supir</td><td style='text-align: center; word-wrap: break-word;'>Bag. Pengeluaran Barang</td><td colspan="3">01\n01\n01\nBagian Penjualan</td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_seal_box_1232_821_1511_1126.jpg" alt="Image" width="15%" /></div>
Lembar 1: Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layar
<div style="text-align: center;"><img src="imgs/img_in_footer_image_box_1560_1164_1719_1215.jpg" alt="Image" width="9%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659920402 - noPO:
PO/26/0000166040 - noSO:
1691895765 - tanggal:
06 May 2026 - vendorInfo:
PT. CHARQEN WOKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9260 VCF
Raw items (7 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11310013 | AYAM SIZE1 FROZEN (0.75-0.8) KG(*) | 3 KRG | 90 PC |
| 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 3 KRG | 60 PC |
| 11310021 | AYAM SIZE BESAR (B) FROZ (1-1.1)KG/PC(*) | 5 KRG | 100 PC |
| 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 10 KRG | 200 PC |
| Truck No. B 9260 VCF | Bag. Pengeluaran Barang | 01 | 01 |
| PASAR PARUNG BOGOR | JL. TULANG KUNING - PASAR PARUNG DEH KARANJ TEA 01 RW.05 K | 01 | 01 | |
| WARU KEC, PARUNG | 01 | 01 |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659920402 - noPO:
PO/26/0000166040 - noSO:
1691895765 - tanggal:
06 May 2026 - vendorInfo:
PT. CHARQEN WOKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9260 VCF
Sanitized items (7 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11310013 | Griller Size 1 ( 30 Ekor ) Frozen | 3 KRG | 90 PC |
| 11310014 | Griller Size 2 ( 20 Ekor ) Frozen | 3 KRG | 60 PC |
| 11310021 | Griller Size B ( Frozen (1000-1100 G) PC | 5 KRG | 100 PC |
| 11310024 | Griller Size A (Frozen (900-1000 G) PC) | 10 KRG | 200 PC |
| Truck No. B 9260 VCF | Bag. Pengeluaran Barang | 01 | 01 |
| PASAR PARUNG BOGOR | JL. TULANG KUNING - PASAR PARUNG DEH KARANJ TEA 01 RW.05 K | 01 | 01 | |
| WARU KEC, PARUNG | 01 | 01 |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659920402 - noPO:
PO/26/0000166040 - noSO:
1691895765 - tanggal:
06 May 2026 - vendorInfo:
PT. CHARQEN WOKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9260 VCF
Final items after SKU validation (4 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11310013 | 11310013 | AYAM SIZE1 FROZEN (0.75-0.8) KG(*) | 3 KRG | 90 PC |
| 11310014 | 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 3 KRG | 60 PC |
| 11310021 | 11310021 | AYAM SIZE BESAR (B) FROZ (1-1.1)KG/PC(*) | 5 KRG | 100 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 10 KRG | 200 PC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11310013 | 11310013 | AYAM SIZE1 FROZEN (0.75-0.8) KG(*) | 3 KRG | 90 PC |
| 11310014 | 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 3 KRG | 60 PC |
| 11310021 | 11310021 | AYAM SIZE BESAR (B) FROZ (1-1.1)KG/PC(*) | 5 KRG | 100 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 10 KRG | 200 PC |
25. Sample DO PFM-page-00011.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
15.19° - Auto-unwarped:
Yes
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
KAWASAN INDUSTRI MODERN.
Kepada : Kepala Gudang
00202207
## DELIVERY ORDER
Tanggal : 3.2019.007731
No. SO : 1691896671
No. DO : 1659921089
No. PO : PO/26/0000166510
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : PFM-KU
Alamat : JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN, JAKARTA UTARA, 14430
JAKARTA ITARA
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310014</td><td style='text-align: center; word-wrap: break-word;'>✓ Griller Size 2 ( 20 Ekor ) Frozen</td><td style='text-align: center; word-wrap: break-word;'>5 KRG</td><td style='text-align: center; word-wrap: break-word;'>100 PC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310018</td><td style='text-align: center; word-wrap: break-word;'>✓ Griller (PR) Size 1 Friz</td><td style='text-align: center; word-wrap: break-word;'>1 KRG</td><td style='text-align: center; word-wrap: break-word;'>30 PC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310024</td><td style='text-align: center; word-wrap: break-word;'>✓ Griller Size A Frozen (900-1000 G) PC</td><td style='text-align: center; word-wrap: break-word;'>5 KRG</td><td style='text-align: center; word-wrap: break-word;'>100 PC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11640053</td><td style='text-align: center; word-wrap: break-word;'>✓ Bone In Leg ASLI</td><td style='text-align: center; word-wrap: break-word;'>1 80X</td><td style='text-align: center; word-wrap: break-word;'>10 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11660050</td><td style='text-align: center; word-wrap: break-word;'>✓ Drumstick Frozen Pack</td><td style='text-align: center; word-wrap: break-word;'>1 80X</td><td style='text-align: center; word-wrap: break-word;'>10 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11710051</td><td style='text-align: center; word-wrap: break-word;'>✓ Bone In Breast Frozen Pack</td><td style='text-align: center; word-wrap: break-word;'>1 80X</td><td style='text-align: center; word-wrap: break-word;'>10 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11750050</td><td style='text-align: center; word-wrap: break-word;'>✓ fillet Mitra 10 Kg</td><td style='text-align: center; word-wrap: break-word;'>1 80X</td><td style='text-align: center; word-wrap: break-word;'>10 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>234</td><td style='text-align: center; word-wrap: break-word;'>270</td></tr><tr><td colspan="4"><img src="imgs/img_in_seal_box_0_869_394_1150.jpg" alt="Image"" /> ENTRA <img src="imgs/img_in_seal_box_501_897_785_1120.jpg" alt="Image"" /> <img src="imgs/img_in_seal_box_903_867_1292_1133.jpg" alt="Image"" /> WH 01 / 01 IL DANAU KELAPA DUA ( Bagian Penjualan</td></tr></table>
embar 1: Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
Dinindoi dengan
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659921089 - noPO:
PO/26/0000166510 - noSO:
1691896671 - tanggal:
Not Found - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Raw items (8 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 5 KRG | 100 PC |
| 11310018 | AYAM SIZE 1 PR FROZEN(*) | 1 KRG | 30 PC |
| 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 5 KRG | 100 PC |
| 11640053 | PAHA UTUH (1 KG)(*) | 1 BOX | 10 KG |
| 11660050 | PAHA BAWAH (1 KG)(*) | 1 BOX | 10 KG |
| 11710051 | DADA UTUH (1 KG)(*) | 1 BOX | 10 KG |
| 11750050 | FILLET MITRA 1 KG(*) | 1 BOX | 10 KG |
| ENTRA WH 01 / 01 IL DANAU KELAPA DUA ( Bagian Penjualan | ENTRA WH 01 / 01 IL DANAU KELAPA DUA ( Bagian Penjualan | ENTRA WH 01 / 01 IL DANAU KELAPA DUA ( Bagian Penjualan | ENTRA WH 01 / 01 IL DANAU KELAPA DUA ( Bagian Penjualan |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659921089 - noPO:
PO/26/0000166510 - noSO:
1691896671 - tanggal:
Not Found - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Sanitized items (8 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11310014 | ✓ Griller Size 2 ( 20 Ekor ) Frozen | 5 KRG | 100 PC |
| 11310018 | ✓ Griller (PR) Size 1 Friz | 1 KRG | 30 PC |
| 11310024 | ✓ Griller Size A Frozen (900-1000 G) PC | 5 KRG | 100 PC |
| 11640053 | ✓ Bone In Leg ASLI | 1 BOX | 10 KG |
| 11660050 | ✓ Drumstick Frozen Pack | 1 BOX | 10 KG |
| 11710051 | ✓ Bone In Breast Frozen Pack | 1 BOX | 10 KG |
| 11750050 | ✓ fillet Mitra 10 Kg | 1 BOX | 10 KG |
| ENTRA WH 01 / 01 IL DANAU KELAPA DUA ( Bagian Penjualan | ENTRA WH 01 / 01 IL DANAU KELAPA DUA ( Bagian Penjualan | ENTRA WH 01 / 01 IL DANAU KELAPA DUA ( Bagian Penjualan | ENTRA WH 01 / 01 IL DANAU KELAPA DUA ( Bagian Penjualan |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659921089 - noPO:
PO/26/0000166510 - noSO:
1691896671 - tanggal:
Not Found - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk: empty
Final items after SKU validation (7 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11310014 | 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 5 KRG | 100 PC |
| 11310018 | 11310018 | AYAM SIZE 1 PR FROZEN(*) | 1 KRG | 30 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 5 KRG | 100 PC |
| 11640053 | 11640053 | PAHA UTUH (1 KG)(*) | 1 BOX | 10 KG |
| 11660050 | 11660050 | PAHA BAWAH (1 KG)(*) | 1 BOX | 10 KG |
| 11710051 | 11710051 | DADA UTUH (1 KG)(*) | 1 BOX | 10 KG |
| 11750050 | 11750050 | FILLET MITRA 1 KG(*) | 1 BOX | 10 KG |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11310014 | 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 5 KRG | 100 PC |
| 11310018 | 11310018 | AYAM SIZE 1 PR FROZEN(*) | 1 KRG | 30 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 5 KRG | 100 PC |
| 11640053 | 11640053 | PAHA UTUH (1 KG)(*) | 1 BOX | 10 KG |
| 11660050 | 11660050 | PAHA BAWAH (1 KG)(*) | 1 BOX | 10 KG |
| 11710051 | 11710051 | DADA UTUH (1 KG)(*) | 1 BOX | 10 KG |
| 11750050 | 11750050 | FILLET MITRA 1 KG(*) | 1 BOX | 10 KG |
26. Sample DO PFM-page-00012.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0.15° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
DI CHARGEN IDKCHANO INDONESIA TBK KAMASIN INDUSTRI AODERN BANTEN
02:06:08
Kepada : Kepala Gudang
## DELIVERY ORDER
Tanggal :
No. SO : 06 No. 2026
00222864
No. DO : 1659920441
No. PO : PO/26/0000166127
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : PFM-KU
√
Alamat : JL. ANCOL BARAT VIII/1, ANCOL, PADEMANCAW, JAKARTA UTARA, 14430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>JAKARIA UTIA</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11140062</td><td style='text-align: center; word-wrap: break-word;'>Ampela 1 KG Frozen</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>KRG</td><td style='text-align: center; word-wrap: break-word;'>20 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310014</td><td style='text-align: center; word-wrap: break-word;'>Griller Size 2 ( 20 Ekor ) Frozen</td><td style='text-align: center; word-wrap: break-word;'>4</td><td style='text-align: center; word-wrap: break-word;'>KRG</td><td style='text-align: center; word-wrap: break-word;'>80 PC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310024</td><td style='text-align: center; word-wrap: break-word;'>Griller Size ( 900-1000 G) PC</td><td style='text-align: center; word-wrap: break-word;'>20</td><td style='text-align: center; word-wrap: break-word;'>KRG</td><td style='text-align: center; word-wrap: break-word;'>400 PC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11660050</td><td style='text-align: center; word-wrap: break-word;'>Drumstick Frozen Pack</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>BOX</td><td style='text-align: center; word-wrap: break-word;'>10 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Ju</td><td style='text-align: center; word-wrap: break-word;'>482</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>510</td></tr><tr><td colspan="2">Truck No. B 9417 VOC DM PANORANA BALI RESIDENCE BGR | PANORAMA E KEC. CISEENG BOGO <img src="imgs/img_in_seal_box_971_746_1252_993.jpg" alt="Image"" /></td><td colspan="3">WH 01 / 01\nNO 16 KEL. PUTAT NUTU</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Penerima Barang</td><td style='text-align: center; word-wrap: break-word;'>Tanda Tangan Supir</td><td style='text-align: center; word-wrap: break-word;'>Bag. Pengeluaran Barang</td><td colspan="2">Bagian Penjualan</td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_image_box_26_825_333_1038.jpg" alt="Image" width="17%" /></div>
Lembar 1: Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
<div style="text-align: center;"><img src="imgs/img_in_footer_image_box_1558_1161_1721_1217.jpg" alt="Image" width="9%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659920441 - noPO:
PO/26/0000166127 - noSO:
1659920441 - tanggal:
Not Found - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9417 VOC
Raw items (6 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11140062 | AMPELA 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 4 KRG | 80 PC |
| 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 20 KRG | 400 PC |
| 11660050 | PAHA BAWAH (1 KG)(*) | 1 BOX | 10 KG |
| Ju | 482 | 510 | |
| Truck No. B 9417 VOC DM PANORANA BALI RESIDENCE BGR | PANORAMA E KEC. CISEENG BOGO | Truck No. B 9417 VOC DM PANORANA BALI RESIDENCE BGR | PANORAMA E KEC. CISEENG BOGO | WH 01 / 01 | WH 01 / 01 |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659920441 - noPO:
PO/26/0000166127 - noSO:
1659920441 - tanggal:
Not Found - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9417 VOC
Sanitized items (6 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11140062 | Ampela 1 KG Frozen | 1 KRG | 20 KG |
| 11310014 | Griller Size 2 ( 20 Ekor ) Frozen | 4 KRG | 80 PC |
| 11310024 | Griller Size ( 900-1000 G) PC | 20 KRG | 400 PC |
| 11660050 | Drumstick Frozen Pack | 1 BOX | 10 KG |
| Ju | 482 | 510 | |
| Truck No. B 9417 VOC DM PANORANA BALI RESIDENCE BGR | PANORAMA E KEC. CISEENG BOGO | Truck No. B 9417 VOC DM PANORANA BALI RESIDENCE BGR | PANORAMA E KEC. CISEENG BOGO | WH 01 / 01 | WH 01 / 01 |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659920441 - noPO:
PO/26/0000166127 - noSO:
1659920441 - tanggal:
Not Found - vendorInfo:
PT.PRIMAFOOD INTERNATIONAL - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
PANORAMA BALI RESIDENCE B NO 16, KEL. PUTAT NUTUG, KEC. CISEENG, KAB. BOGOR 16120 - orderUntuk:
PM PANORAMA BALI RESIDENCE BGR - platTruk:
B 9417 VOC
Final items after SKU validation (4 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11140062 | 11140062 | AMPELA 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11310014 | 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 4 KRG | 80 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 20 KRG | 400 PC |
| 11660050 | 11660050 | PAHA BAWAH (1 KG)(*) | 1 BOX | 10 KG |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11140062 | 11140062 | AMPELA 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11310014 | 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 4 KRG | 80 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 20 KRG | 400 PC |
| 11660050 | 11660050 | PAHA BAWAH (1 KG)(*) | 1 BOX | 10 KG |
27. Sample DO PFM-page-00013.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0.06° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN. BANTEN
05:51:51 / 1 of Tanggal : 07 May 2026
No. SO : 1691898090
No. DO : 1659922449
No.PO : PO/26/0000168198
## DELIVERY ORDER
Kepada : Kepala Gudang
00202815
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : PFH-KU
Alamat : JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN, JAKARTA UTARA, 14430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310013\n11310014\n11310024\n11650053\n11660050\n11690053\n11710051\n11720055</td><td style='text-align: center; word-wrap: break-word;'>✓Griller Size 1 ( 30 Ekor ) Frozen\n~Griller Size 2 ( 20 Ekor ) Frozen\n-Griller Size A Frozen (900-1000 G) PC\n~Thighstick Frozen Pack\n✓Drumstick Frozen Pack\n✓SBB Mitra 10 Kg\n✓Bone In Breast Frozen Pack\nFull Wing Frozen Pack</td><td style='text-align: center; word-wrap: break-word;'>1 KRG\n5 KRG\n5 KRG\n1 BOX\n1 BOX\n1 BOX\n1 BOX\n2 BOX\n1 BOX</td><td style='text-align: center; word-wrap: break-word;'>30 PC\n100 PC\n100 PC\n10 KG\n10 KG\n10 KG\n10 KG\n20 KG\n20 KG\n10 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td colspan="2">B 9259 BCU\nTruck No. PM KARANG BOLONG SERANG | JL RAYA KARA\nW 01, BANDULU - ANYA <img src="imgs/img_in_image_box_367_666_553_778.jpg" alt="Image"" /> <img src="imgs/img_in_seal_box_636_614_858_763.jpg" alt="Image"" /></td><td rowspan="2" colspan="2">WH 01 / 01\nKP SEMPUR) NO 22 RT04 R\nBagian Penjualan</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Penerima Barang</td><td style='text-align: center; word-wrap: break-word;'></td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_chart_box_33_604_241_763.jpg" alt="Image" width="16%" /></div>
Lember 1: Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659922449 - noPO:
PO/26/0000168198 - noSO:
1691898090 - tanggal:
07 May 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN. BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9259 BCU
Raw items (11 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11310013 | AYAM SIZE1 FROZEN (0.75-0.8) KG(*) | 1 KRG | 30 PC |
| 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 5 KRG | 100 PC |
| 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 5 KRG | 100 PC |
| 11650053 | PAHA ATAS 1 KG(*) | 1 BOX | 10 KG |
| 11660050 | PAHA BAWAH (1 KG)(*) | 1 BOX | 10 KG |
| 11690053 | SBB (FILLET DADA )1 KG(*) | 1 BOX | 10 KG |
| 11710051 | DADA UTUH (1 KG)(*) | 1 BOX | 10 KG |
| 11720055 | FULL WING FROZ PACK 1 KG(*) | 2 BOX | 20 KG |
| B 9259 BCU | B 9259 BCU | WH 01 / 01 | WH 01 / 01 |
| Truck No. PM KARANG BOLONG SERANG | JL RAYA KARA | Truck No. PM KARANG BOLONG SERANG | JL RAYA KARA | 1 | |
| W 01, BANDULU - ANYA | W 01, BANDULU - ANYA | 1 |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659922449 - noPO:
PO/26/0000168198 - noSO:
1691898090 - tanggal:
07 May 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN. BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9259 BCU
Sanitized items (11 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11310013 | ✓Griller Size 1 ( 30 Ekor ) Frozen | 1 KRG | 30 PC |
| 11310014 | ~Griller Size 2 ( 20 Ekor ) Frozen | 5 KRG | 100 PC |
| 11310024 | -Griller Size A Frozen (900-1000 G) PC | 5 KRG | 100 PC |
| 11650053 | ~Thighstick Frozen Pack | 1 BOX | 10 KG |
| 11660050 | ✓Drumstick Frozen Pack | 1 BOX | 10 KG |
| 11690053 | ✓SBB Mitra 10 Kg | 1 BOX | 10 KG |
| 11710051 | ✓Bone In Breast Frozen Pack | 1 BOX | 10 KG |
| 11720055 | Full Wing Frozen Pack | 2 BOX | 20 KG |
| B 9259 BCU | B 9259 BCU | WH 01 / 01 | WH 01 / 01 |
| Truck No. PM KARANG BOLONG SERANG | JL RAYA KARA | Truck No. PM KARANG BOLONG SERANG | JL RAYA KARA | 1 | |
| W 01, BANDULU - ANYA | W 01, BANDULU - ANYA | 1 |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659922449 - noPO:
PO/26/0000168198 - noSO:
1691898090 - tanggal:
07 May 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN. BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9259 BCU
Final items after SKU validation (8 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11310013 | 11310013 | AYAM SIZE1 FROZEN (0.75-0.8) KG(*) | 1 KRG | 30 PC |
| 11310014 | 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 5 KRG | 100 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 5 KRG | 100 PC |
| 11650053 | 11650053 | PAHA ATAS 1 KG(*) | 1 BOX | 10 KG |
| 11660050 | 11660050 | PAHA BAWAH (1 KG)(*) | 1 BOX | 10 KG |
| 11690053 | 11690053 | SBB (FILLET DADA )1 KG(*) | 1 BOX | 10 KG |
| 11710051 | 11710051 | DADA UTUH (1 KG)(*) | 1 BOX | 10 KG |
| 11720055 | 11720055 | FULL WING FROZ PACK 1 KG(*) | 2 BOX | 20 KG |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11310013 | 11310013 | AYAM SIZE1 FROZEN (0.75-0.8) KG(*) | 1 KRG | 30 PC |
| 11310014 | 11310014 | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | 5 KRG | 100 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 5 KRG | 100 PC |
| 11650053 | 11650053 | PAHA ATAS 1 KG(*) | 1 BOX | 10 KG |
| 11660050 | 11660050 | PAHA BAWAH (1 KG)(*) | 1 BOX | 10 KG |
| 11690053 | 11690053 | SBB (FILLET DADA )1 KG(*) | 1 BOX | 10 KG |
| 11710051 | 11710051 | DADA UTUH (1 KG)(*) | 1 BOX | 10 KG |
| 11720055 | 11720055 | FULL WING FROZ PACK 1 KG(*) | 2 BOX | 20 KG |
28. Sample DO PFM-page-00014.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PT. CHAROEN POKPHAND INDONESIA TBK
KAWASAN INDUSTRI MODERN,
BANTEN
05:48:57
Tanggal : 06 April 2026
No. SO : 1691853079
No. DO : 1659881372
## DELIVERY ORDER
No. PO : PO/26/0000125459
Kepada : Kepala Gudang
00629253
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : DKI AREA
Alamat : JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN, JAKARTA UTARA, 14430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>12010515\n12012502\n12240102\n12240103</td><td style='text-align: center; word-wrap: break-word;'>891 CHAMP KOIN KOMBINASI 450 G\n601 Akumo Chicken Naget 500 Gr\n935 FIESTA CHEESY ITALIAN RICE BITES 400\n936 Fiesta Yakiniku Rice Bites 400 G</td><td style='text-align: center; word-wrap: break-word;'>1 BOX\n1 BOX\n1 BOX\n1 BOX</td><td style='text-align: center; word-wrap: break-word;'>12 PAC\n10 PAC\n12 PAC\n12 PAC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>4</td><td style='text-align: center; word-wrap: break-word;'>46</td></tr><tr><td style='text-align: center; word-wrap: break-word;'><img src="imgs/img_in_seal_box_28_815_447_994.jpg" alt="Image"" /></td><td colspan="3">I | JL. H. MUHI NO. 14 KEL. PONDOK, PINANG KEC KBY LANA JAKARTA SELATA\nIDN</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Penerima Barang</td><td style='text-align: center; word-wrap: break-word;'>Tanda Tangan Supir</td><td style='text-align: center; word-wrap: break-word;'>Bag. Pengeluaran Barang</td><td style='text-align: center; word-wrap: break-word;'>Bagian Penjualan</td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_seal_box_1232_878_1478_1121.jpg" alt="Image" width="14%" /></div>
Lembar 1: Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layar
<div style="text-align: center;"><img src="imgs/img_in_footer_image_box_1560_1163_1719_1215.jpg" alt="Image" width="9%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659881372 - noPO:
PO/26/0000125459 - noSO:
1691853079 - tanggal:
06 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Raw items (6 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 12010515 | CHAMP KOIN KOMBINASI 450 GR/PAC | 1 BOX | 12 PAC |
| 12012502 | AKUMO CHICKEN NUGGET 500 GR | 1 BOX | 10 PAC |
| 12240102 | FIESTA CHEESY ITALIAN R/BITES 400 GR/PAC | 1 BOX | 12 PAC |
| 12240103 | FIESTA YAKINIKU R/BITES 400 GR/PAC | 1 BOX | 12 PAC |
| I | JL. H. MUHI NO. 14 KEL. PONDOK, PINANG KEC KBY LANA JAKARTA SELATA | I | JL. H. MUHI NO. 14 KEL. PONDOK, PINANG KEC KBY LANA JAKARTA SELATA | I | JL. H. MUHI NO. 14 KEL. PONDOK, PINANG KEC KBY LANA JAKARTA SELATA | |
| IDN | 1 IDN | IDN |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659881372 - noPO:
PO/26/0000125459 - noSO:
1691853079 - tanggal:
06 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Sanitized items (6 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 12010515 | 891 CHAMP KOIN KOMBINASI 450 G | 1 BOX | 12 PAC |
| 12012502 | 601 Akumo Chicken Naget 500 Gr | 1 BOX | 10 PAC |
| 12240102 | 935 FIESTA CHEESY ITALIAN RICE BITES 400 | 1 BOX | 12 PAC |
| 12240103 | 936 Fiesta Yakiniku Rice Bites 400 G | 1 BOX | 12 PAC |
| I | JL. H. MUHI NO. 14 KEL. PONDOK, PINANG KEC KBY LANA JAKARTA SELATA | I | JL. H. MUHI NO. 14 KEL. PONDOK, PINANG KEC KBY LANA JAKARTA SELATA | I | JL. H. MUHI NO. 14 KEL. PONDOK, PINANG KEC KBY LANA JAKARTA SELATA | |
| IDN | 1 IDN | IDN |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659881372 - noPO:
PO/26/0000125459 - noSO:
1691853079 - tanggal:
06 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk: empty
Final items after SKU validation (4 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 12010515 | 12010515 | CHAMP KOIN KOMBINASI 450 GR/PAC | 1 BOX | 12 PAC |
| 12012502 | 12012502 | AKUMO CHICKEN NUGGET 500 GR | 1 BOX | 10 PAC |
| 12240102 | 12240102 | FIESTA CHEESY ITALIAN R/BITES 400 GR/PAC | 1 BOX | 12 PAC |
| 12240103 | 12240103 | FIESTA YAKINIKU R/BITES 400 GR/PAC | 1 BOX | 12 PAC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 12010515 | 12010515 | CHAMP KOIN KOMBINASI 450 GR/PAC | 1 BOX | 12 PAC |
| 12012502 | 12012502 | AKUMO CHICKEN NUGGET 500 GR | 1 BOX | 10 PAC |
| 12240102 | 12240102 | FIESTA CHEESY ITALIAN R/BITES 400 GR/PAC | 1 BOX | 12 PAC |
| 12240103 | 12240103 | FIESTA YAKINIKU R/BITES 400 GR/PAC | 1 BOX | 12 PAC |
29. Sample DO PFM-page-00015.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN
01:42:41
Tanggal : 02 April 2026
No. SO : 1691848409
No. DO : 1659876922
Kepada : Kepala Gudang
00614967
## DELIVERY ORDER
No. PO : PO/26/0000120972
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : DKI AREA
Alamat : JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN, JAKARTA UTARA, 14430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11110074\n11620056\n11690053</td><td style='text-align: center; word-wrap: break-word;'>Ceker 1 KG Frozen\nSBL Mitra 10 Kg\nSBB Mitra 10 Kg\nASLI</td><td style='text-align: center; word-wrap: break-word;'>1 ✓\n10 ✓\n10 ✓\nKRG\nBAG\nBAG</td><td style='text-align: center; word-wrap: break-word;'>20 KG\n10 KG\n10 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>21</td><td style='text-align: center; word-wrap: break-word;'>40</td></tr><tr><td colspan="2">Truck No. B 9260 BXT\nPM TANAH KUSIR | JL RC VEZERAN NO 17 F\nRTA SELATAN, IDN1233 <img src="imgs/img_in_seal_box_893_771_1228_1016.jpg" alt="Image"" /></td><td colspan="2">WH 01 / 01\nO KEC PESANGGAHAN JAKA</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Penetima Barang TANAH KUSIR</td><td style='text-align: center; word-wrap: break-word;'>Tanda Tangan Supir</td><td colspan="2">Bagian Penjualan</td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_chart_box_32_820_338_1045.jpg" alt="Image" width="17%" /></div>
Lembar 1: Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
<div style="text-align: center;"><img src="imgs/img_in_footer_image_box_1558_1162_1720_1216.jpg" alt="Image" width="9%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659876922 - noPO:
PO/26/0000120972 - noSO:
1691848409 - tanggal:
02 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9260 BXT
Raw items (7 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11110074 | CEKER 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11620056 | SBL (FILLET PAHA) 1 KG(*) | 10 BAG | 10 KG |
| 11690053 | SBB (FILLET DADA )1 KG(*) | 10 BAG | 10 KG |
| Truck No. B 9260 BXT | Truck No. B 9260 BXT | WH 01 / 01 | WH 01 / 01 |
| PM TANAH KUSIR | JL RC VEZERAN NO 17 F | PM TANAH KUSIR | JL RC VEZERAN NO 17 F | O KEC PESANGGAHAN JAKA | O KEC PESANGGAHAN JAKA |
| RTA SELATAN, IDN1233 | RTA SELATAN, IDN1233 | 1 | |
| Penetima Barang TANAH KUSIR | Bagian Penjualan | Bagian Penjualan |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659876922 - noPO:
PO/26/0000120972 - noSO:
1691848409 - tanggal:
02 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9260 BXT
Sanitized items (7 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11110074 | Ceker 1 KG Frozen | 1 KRG | 20 KG |
| 11620056 | SBL Mitra 10 Kg | 10 BAG | 10 KG |
| 11690053 | SBB Mitra 10 Kg | 10 BAG | 10 KG |
| Truck No. B 9260 BXT | Truck No. B 9260 BXT | WH 01 / 01 | WH 01 / 01 |
| PM TANAH KUSIR | JL RC VEZERAN NO 17 F | PM TANAH KUSIR | JL RC VEZERAN NO 17 F | O KEC PESANGGAHAN JAKA | O KEC PESANGGAHAN JAKA |
| RTA SELATAN, IDN1233 | RTA SELATAN, IDN1233 | 1 | |
| Penetima Barang TANAH KUSIR | Bagian Penjualan | Bagian Penjualan |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659876922 - noPO:
PO/26/0000120972 - noSO:
1691848409 - tanggal:
02 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9260 BXT
Final items after SKU validation (3 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11110074 | 11110074 | CEKER 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11620056 | 11620056 | SBL (FILLET PAHA) 1 KG(*) | 10 BAG | 10 KG |
| 11690053 | 11690053 | SBB (FILLET DADA )1 KG(*) | 10 BAG | 10 KG |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11110074 | 11110074 | CEKER 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11620056 | 11620056 | SBL (FILLET PAHA) 1 KG(*) | 10 BAG | 10 KG |
| 11690053 | 11690053 | SBB (FILLET DADA )1 KG(*) | 10 BAG | 10 KG |
30. Sample DO PFM-page-00016.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0.06° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PT. CHAROEN POKPHAND INDONESIA TBK
KAWASAN INDUSTRI MODERN,
BANTEN
05:53:26
No. SO : 1691850584
Tanggal : 03 April 2026
No. DO : 1659878594
Kepada : Kepala Gudang
00641729
No. PO : PO/26/0000122470
# DELIVERY ORDER
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : DKI AREA
Alamat : JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN, JAKARTA UTARA, 14430
JAKARTA UTARA
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>17210106\n21200107</td><td style='text-align: center; word-wrap: break-word;'>FIESTA RTS BEEF YAKINIKU 300G 8PAC\nFiesta Spaghetti Carbonara 300g 6 PC\n<img src="imgs/img_in_image_box_637_552_805_608.jpg" alt="Image"" /></td><td style='text-align: center; word-wrap: break-word;'>1\n1</td><td style='text-align: center; word-wrap: break-word;'>BOX\nBOX\n8 PAC\n6 PAC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>14</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Truck No. B 9308 BXT\nP M KAMPUNG TENGAH | JL. RAYA TENGAH RT.04 A TIMUR 13540 Ja\n<img src="imgs/img_in_image_box_39_868_331_1039.jpg" alt="Image"" /> <img src="imgs/img_in_image_box_517_918_781_1036.jpg" alt="Image"" /></td><td style='text-align: center; word-wrap: break-word;'>WH 01 / 01\n<img src="imgs/img_in_seal_box_969_783_1214_998.jpg" alt="Image"" /> <img src="imgs/img_in_seal_box_969_783_1214_998.jpg" alt="Image"" /> Bag. Pengeluaran Barang</td><td colspan="2">NGAH KEC. KRAMAT JATI JA\nBagian Penjualan</td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_chart_box_1383_788_1712_1019.jpg" alt="Image" width="18%" /></div>
Lembera: Customer Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
<div style="text-align: center;"><img src="imgs/img_in_footer_image_box_1559_1162_1720_1216.jpg" alt="Image" width="9%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659878594 - noPO:
PO/26/0000122470 - noSO:
1691850584 - tanggal:
03 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9308 BXT
Raw items (4 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 17210106 | FIESTA RTS B/YAKINIKU 300GR/PAC | 1 BOX | BOX |
| 21200107 | NEW FIESTA SPAGHETTI CARBONARA 300GR (PAC) | 1 BOX | BOX |
| Truck No. B 9308 BXT | WH 01 / 01 | NGAH KEC. KRAMAT JATI JA | NGAH KEC. KRAMAT JATI JA |
| P M KAMPUNG TENGAH | JL. RAYA TENGAH RT.04 A TIMUR 13540 Ja | Bag. Pengeluaran Barang | Bagian Penjualan | Bagian Penjualan |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659878594 - noPO:
PO/26/0000122470 - noSO:
1691850584 - tanggal:
03 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9308 BXT
Sanitized items (4 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 17210106 | FIESTA RTS BEEF YAKINIKU 300G 8PAC | 1 BOX | BOX |
| 21200107 | Fiesta Spaghetti Carbonara 300g 6 PC | 1 BOX | BOX |
| Truck No. B 9308 BXT | WH 01 / 01 | NGAH KEC. KRAMAT JATI JA | NGAH KEC. KRAMAT JATI JA |
| P M KAMPUNG TENGAH | JL. RAYA TENGAH RT.04 A TIMUR 13540 Ja | Bag. Pengeluaran Barang | Bagian Penjualan | Bagian Penjualan |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659878594 - noPO:
PO/26/0000122470 - noSO:
1691850584 - tanggal:
03 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. RAYA TENGAH RT. 004, RW. 009, KEL. TENGAH, KEC. KRAMAT JATI, JAKARTA TIMUR 13540 - orderUntuk:
PM KAMPUNG TENGAH - platTruk:
B 9308 BXT
Final items after SKU validation (2 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 17210106 | 17210106 | FIESTA RTS B/YAKINIKU 300GR/PAC | 1 BOX | BOX |
| 21200107 | 21200107 | NEW FIESTA SPAGHETTI CARBONARA 300GR (PAC) | 1 BOX | BOX |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 17210106 | 17210106 | FIESTA RTS B/YAKINIKU 300GR/PAC | 1 BOX | BOX |
| 21200107 | 21200107 | NEW FIESTA SPAGHETTI CARBONARA 300GR (PAC) | 1 BOX | BOX |
31. Sample DO PFM-page-00017.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PT. CHARGEN POKPIAND INDONESIA T KAWASAN, INDUSTRI MODERN, BANTEN
11:59:34
Kepada : Kepala Gudang
00641400
## DELIVERY ORDER
Tanggal : 02 April 2026
No. SO : 191848878
No. DO : 1659877509
No. PO : PO/26/0000121957
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : DKI AREA
Alamat : JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN, JAKARTA UTARA, 14430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310013\n11310024</td><td style='text-align: center; word-wrap: break-word;'>Griller Size 1 ( 30 Ekor ) Frozen\nGriller Size A Frozen (900-1000 G) PC\nASLI</td><td style='text-align: center; word-wrap: break-word;'>4 KRG\n10 KRG</td><td style='text-align: center; word-wrap: break-word;'>120 PC ADA\n200 PC ✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>320</td><td style='text-align: center; word-wrap: break-word;'>320</td></tr><tr><td colspan="2">Truck No. B 9767 NCD / PM CIPETE RAYA | JL CIPETE RAYA NO 15F, KEL CIPETE SELATAN, SELATAN, IDN12410 ID <img src="imgs/img_in_image_box_40_911_346_998.jpg" alt="Image"" /></td><td colspan="2"><img src="imgs/img_in_seal_box_1230_816_1583_1031.jpg" alt="Image"" /></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Penerima Barang</td><td style='text-align: center; word-wrap: break-word;'>Tanda Tangan Supir</td><td style='text-align: center; word-wrap: break-word;'>Bag. Pengeluaran Barang</td><td style='text-align: center; word-wrap: break-word;'>jualan</td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_image_box_511_933_776_1061.jpg" alt="Image" width="15%" /></div>
Turun banne
Lembar 1: Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
<div style="text-align: center;"><img src="imgs/img_in_footer_image_box_1558_1162_1720_1216.jpg" alt="Image" width="9%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659877509 - noPO:
PO/26/0000121957 - noSO:
191848878 - tanggal:
02 April 2026 - vendorInfo:
PT. CHARGEN POKPIAND INDONESIA T KAWASAN, INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9767 NCD
Raw items (3 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11310013 | AYAM SIZE1 FROZEN (0.75-0.8) KG(*) | 4 KRG | 120 PC |
| 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 10 KRG | 200 PC |
| Truck No. B 9767 NCD / PM CIPETE RAYA | JL CIPETE RAYA NO 15F, KEL CIPETE SELATAN, SELATAN, IDN12410 ID | Truck No. B 9767 NCD / PM CIPETE RAYA | JL CIPETE RAYA NO 15F, KEL CIPETE SELATAN, SELATAN, IDN12410 ID | 1 |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659877509 - noPO:
PO/26/0000121957 - noSO:
191848878 - tanggal:
02 April 2026 - vendorInfo:
PT. CHARGEN POKPIAND INDONESIA T KAWASAN, INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9767 NCD
Sanitized items (3 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11310013 | Griller Size 1 ( 30 Ekor ) Frozen | 4 KRG | 120 PC ADA |
| 11310024 | Griller Size A Frozen (900-1000 G) PC | 10 KRG | 200 PC |
| Truck No. B 9767 NCD / PM CIPETE RAYA | JL CIPETE RAYA NO 15F, KEL CIPETE SELATAN, SELATAN, IDN12410 ID | Truck No. B 9767 NCD / PM CIPETE RAYA | JL CIPETE RAYA NO 15F, KEL CIPETE SELATAN, SELATAN, IDN12410 ID | 1 |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659877509 - noPO:
PO/26/0000121957 - noSO:
191848878 - tanggal:
02 April 2026 - vendorInfo:
PT. CHARGEN POKPIAND INDONESIA T KAWASAN, INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9767 NCD
Final items after SKU validation (2 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11310013 | 11310013 | AYAM SIZE1 FROZEN (0.75-0.8) KG(*) | 4 KRG | 120 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 10 KRG | 200 PC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11310013 | 11310013 | AYAM SIZE1 FROZEN (0.75-0.8) KG(*) | 4 KRG | 120 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 10 KRG | 200 PC |
32. Sample DO PFM-page-00018.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
3.11° - Auto-unwarped:
Yes
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PT. CHAROEN POKPUAND INDONESIA T5K 03:28:00
KAWASAN, INDUSTRI MODERN, BANTEN
# DELIVERY ORDER
tanggai:
No. SO : 18 April 2026/
Kepada : Kepala Gudang
00706237
No. DO : 1691872559
No. PO : 1659898844 PO/26/0000143236
Kepada Yth :
Order Untuk : PT.PRIMAFOOD INTERNATIONAL
Alamat : PFM-KU
把
JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN,
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>JAKARTA UTARA, 14430\nJAKARTA UTARA Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>Hati 1 KG Frozen</td><td style='text-align: center; word-wrap: break-word;'>1 KRG</td><td style='text-align: center; word-wrap: break-word;'>20 KG ✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11150064</td><td style='text-align: center; word-wrap: break-word;'>Griller (PR) Size 1, Erz</td><td style='text-align: center; word-wrap: break-word;'>1 KRG</td><td style='text-align: center; word-wrap: break-word;'>30 PC ✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310018</td><td style='text-align: center; word-wrap: break-word;'>Griller (PR) Size 2, Erz</td><td style='text-align: center; word-wrap: break-word;'>3 KRG</td><td style='text-align: center; word-wrap: break-word;'>60 PC ✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310019</td><td style='text-align: center; word-wrap: break-word;'>Griller (PR) Size 2, Erz</td><td style='text-align: center; word-wrap: break-word;'>3 KRG</td><td style='text-align: center; word-wrap: break-word;'>80 PC ✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310024</td><td style='text-align: center; word-wrap: break-word;'>Griller Size A Frozen (900-1000 G) PC</td><td style='text-align: center; word-wrap: break-word;'>20 KRG</td><td style='text-align: center; word-wrap: break-word;'>20 KG ✓</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11660050</td><td style='text-align: center; word-wrap: break-word;'>Drumstick Frozen Pack</td><td style='text-align: center; word-wrap: break-word;'>20 BAG</td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Truck No.</td><td style='text-align: center; word-wrap: break-word;'>251</td><td style='text-align: center; word-wrap: break-word;'>270</td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'><img src="imgs/img_in_image_box_1_910_315_1104.jpg" alt="Image"" /></td><td style='text-align: center; word-wrap: break-word;'><img src="imgs/img_in_image_box_519_973_794_1099.jpg" alt="Image"" /></td><td style='text-align: center; word-wrap: break-word;'>Bag. Pengeluaran Barang</td><td style='text-align: center; word-wrap: break-word;'>Bagian Penjualan</td></tr><tr><td colspan="4">Jika D.O. Ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kimit |ayani</td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_seal_box_1198_876_1530_1183.jpg" alt="Image" width="18%" /></div>
embar 1.: Customer
Dipindai dengan
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659898844 - noPO:
PO/26/0000143236 - noSO:
1691872559 - tanggal:
18 April 2026 - vendorInfo:
PT. CHAROEN POKPUAND INDONESIA T5K 03:28:00 KAWASAN, INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Raw items (8 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| Hati 1 KG Frozen | 1 KRG | 20 KG | |
| 11150064 | HATI 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 30 PC |
| 11310018 | AYAM SIZE 1 PR FROZEN(*) | 3 KRG | 60 PC |
| 11310019 | AYAM SIZE 2 PR FROZEN(*) | 3 KRG | 80 PC |
| 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 20 KRG | 20 PC |
| 11660050 | PAHA BAWAH (1 KG)(*) | 20 BAG | |
| Truck No. | 251 | 270 | |
| Jika D.O. Ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kimit |ayani | Jika D.O. Ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kimit |ayani | Jika D.O. Ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kimit |ayani | Jika D.O. Ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kimit |ayani |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659898844 - noPO:
PO/26/0000143236 - noSO:
1691872559 - tanggal:
18 April 2026 - vendorInfo:
PT. CHAROEN POKPUAND INDONESIA T5K 03:28:00 KAWASAN, INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Sanitized items (8 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| Hati 1 KG Frozen | 1 KRG | 20 KG | |
| 11150064 | Griller (PR) Size 1, Erz | 1 KRG | 30 PC |
| 11310018 | Griller (PR) Size 2, Erz | 3 KRG | 60 PC |
| 11310019 | Griller (PR) Size 2, Erz | 3 KRG | 80 PC |
| 11310024 | Griller Size A Frozen (900-1000 G) PC | 20 KRG | 20 KG |
| 11660050 | Drumstick Frozen Pack | 20 BAG | |
| Truck No. | 251 | 270 | |
| Jika D.O. Ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kimit |ayani | Jika D.O. Ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kimit |ayani | Jika D.O. Ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kimit |ayani | Jika D.O. Ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kimit |ayani |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659898844 - noPO:
PO/26/0000143236 - noSO:
1691872559 - tanggal:
18 April 2026 - vendorInfo:
PT. CHAROEN POKPUAND INDONESIA T5K 03:28:00 KAWASAN, INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk: empty
Final items after SKU validation (5 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11150064 | 11150064 | HATI 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 30 PC |
| 11310018 | 11310018 | AYAM SIZE 1 PR FROZEN(*) | 3 KRG | 60 PC |
| 11310019 | 11310019 | AYAM SIZE 2 PR FROZEN(*) | 3 KRG | 80 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 20 KRG | 20 PC |
| 11660050 | 11660050 | PAHA BAWAH (1 KG)(*) | 20 BAG |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11150064 | 11150064 | HATI 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 30 PC |
| 11310018 | 11310018 | AYAM SIZE 1 PR FROZEN(*) | 3 KRG | 60 PC |
| 11310019 | 11310019 | AYAM SIZE 2 PR FROZEN(*) | 3 KRG | 80 PC |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 20 KRG | 20 PC |
| 11660050 | 11660050 | PAHA BAWAH (1 KG)(*) | 20 BAG |
33. Sample DO PFM-page-00019.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
4.31° - Auto-unwarped:
Yes
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PT. CHAROEN POKPHAND INDONESIA TBK
KAWASAN INDUSTPI MODER
<div style="text-align: center;"><img src="imgs/img_in_image_box_10_0_684_213.jpg" alt="Image" width="38%" /></div>
NTEN
Kepada : Kepala Gudang
00637619
Tanggal : 06:13:02 04 April 2026
No. SO : 1691852095
No. DO : 1659880471
No. PO : PO/26/0000124386
## DELIVERY ORDER
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : PFM-KU
The
Alamat : JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN, JAKARTA UTARA, 14430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11140062</td><td style='text-align: center; word-wrap: break-word;'>Ampela 1 KG Frozen</td><td style='text-align: center; word-wrap: break-word;'>20</td><td style='text-align: center; word-wrap: break-word;'>20 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11150064</td><td style='text-align: center; word-wrap: break-word;'>Hati 1 KG Frozen</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>20 KG</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310024</td><td style='text-align: center; word-wrap: break-word;'>Griller Size A Frozen (900-1000 G) PC</td><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>40 PC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11660050</td><td style='text-align: center; word-wrap: break-word;'>Drumstick Frozen Pack</td><td style='text-align: center; word-wrap: break-word;'>10</td><td style='text-align: center; word-wrap: break-word;'>10 KG</td></tr><tr><td colspan="4">Size A tidak datang.</td></tr><tr><td colspan="2">Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>71</td><td style='text-align: center; word-wrap: break-word;'>90</td></tr><tr><td colspan="2">B 9402 SCH\nPM KAMPUNG SAWAH 2 | JL. KI HAJAR DEWAI\nTANGERANG, IDN15413 <img src="imgs/img_in_seal_box_930_788_1256_1114.jpg" alt="Image"" /></td><td colspan="2">WH 01 /01\n1 RW.04, SAWAH, CIPUTAT</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Penerima Barang</td><td style='text-align: center; word-wrap: break-word;'>Tanda Tangan Supir</td><td colspan="2">Bagian Penjualan</td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_chart_box_2_882_325_1129.jpg" alt="Image" width="18%" /></div>
<div style="text-align: center;"><img src="imgs/img_in_chart_box_490_904_804_1126.jpg" alt="Image" width="17%" /></div>
<div style="text-align: center;"><img src="imgs/img_in_chart_box_1419_844_1753_1110.jpg" alt="Image" width="19%" /></div>
embar 1: Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
Osto dei donno
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659880471 - noPO:
PO/26/0000124386 - noSO:
1691852095 - tanggal:
04 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTPI MODER NTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9402 SCH
Raw items (8 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11140062 | AMPELA 1 KG FROZEN (20 PAC/KARUNG)(*) | 20 KRG | 20 KG |
| 11150064 | HATI 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 2 KRG | 40 PC |
| 11660050 | PAHA BAWAH (1 KG)(*) | 10 BOX | 10 KG |
| Size A tidak datang. | Size A tidak datang. | Size A tidak datang. | Size A tidak datang. |
| B 9402 SCH | B 9402 SCH | WH 01 /01 | WH 01 /01 |
| PM KAMPUNG SAWAH 2 | JL. KI HAJAR DEWAI | PM KAMPUNG SAWAH 2 | JL. KI HAJAR DEWAI | 1 RW.04, SAWAH, CIPUTAT | 1 RW.04, SAWAH, CIPUTAT |
| TANGERANG, IDN15413 | TANGERANG, IDN15413 | 1 |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659880471 - noPO:
PO/26/0000124386 - noSO:
1691852095 - tanggal:
04 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTPI MODER NTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9402 SCH
Sanitized items (8 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11140062 | Ampela 1 KG Frozen | 20 | 20 KG |
| 11150064 | Hati 1 KG Frozen | 1 | 20 KG |
| 11310024 | Griller Size A Frozen (900-1000 G) PC | 2 KRG | 40 PC |
| 11660050 | Drumstick Frozen Pack | 10 | 10 KG |
| Size A tidak datang. | Size A tidak datang. | Size A tidak datang. | Size A tidak datang. |
| B 9402 SCH | B 9402 SCH | WH 01 /01 | WH 01 /01 |
| PM KAMPUNG SAWAH 2 | JL. KI HAJAR DEWAI | PM KAMPUNG SAWAH 2 | JL. KI HAJAR DEWAI | 1 RW.04, SAWAH, CIPUTAT | 1 RW.04, SAWAH, CIPUTAT |
| TANGERANG, IDN15413 | TANGERANG, IDN15413 | 1 |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659880471 - noPO:
PO/26/0000124386 - noSO:
1691852095 - tanggal:
04 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTPI MODER NTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9402 SCH
Final items after SKU validation (4 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11140062 | 11140062 | AMPELA 1 KG FROZEN (20 PAC/KARUNG)(*) | 20 KRG | 20 KG |
| 11150064 | 11150064 | HATI 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 2 KRG | 40 PC |
| 11660050 | 11660050 | PAHA BAWAH (1 KG)(*) | 10 BOX | 10 KG |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11140062 | 11140062 | AMPELA 1 KG FROZEN (20 PAC/KARUNG)(*) | 20 KRG | 20 KG |
| 11150064 | 11150064 | HATI 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11310024 | 11310024 | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | 2 KRG | 40 PC |
| 11660050 | 11660050 | PAHA BAWAH (1 KG)(*) | 10 BOX | 10 KG |
34. Sample DO PFM-page-00020.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PT. CHAROEN POKPHAND INDONESIA TBK
KAWASAN INDUSTRI MODERN,
BANTEN
300000000000
06:34:00
<div style="text-align: center;"><img src="imgs/img_in_seal_box_282_122_552_242.jpg" alt="Image" width="15%" /></div>
elarm
Tanggal : 11 April 2026
No. SO : 1691863154
00727524
Kepada : Kepala Gudang
No. DO : 1659889989
## DELIVERY ORDER
No. PO : PO/26/0000135032
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : PFM-KU
Alamat
APS
JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN,
JAKARTA UTARA, 14430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>JAKARTA UTARA</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11310013</td><td style='text-align: center; word-wrap: break-word;'>Griller Size 1 ( 30 Ekor ) Frozen</td><td style='text-align: center; word-wrap: break-word;'>2)</td><td style='text-align: center; word-wrap: break-word;'>KRG</td><td style='text-align: center; word-wrap: break-word;'>-60- PC 30 PC-</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>ASLI</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td colspan="2">Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>60</td><td style='text-align: center; word-wrap: break-word;'>60</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'><img src="imgs/img_in_image_box_1374_822_1737_1034.jpg" alt="Image"" /> [F6]</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_seal_box_966_837_1227_1079.jpg" alt="Image" width="14%" /></div>
Lembar 1: Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
1621886257
<div style="text-align: center;"><img src="imgs/img_in_footer_image_box_1559_1163_1720_1215.jpg" alt="Image" width="9%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659889989 - noPO:
PO/26/0000135032 - noSO:
1691863154 - tanggal:
11 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN 300000000000 - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Raw items (2 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11310013 | AYAM SIZE1 FROZEN (0.75-0.8) KG(*) | 2 KRG | 60 PC |
| [F6] | 1 |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659889989 - noPO:
PO/26/0000135032 - noSO:
1691863154 - tanggal:
11 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN 300000000000 - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Sanitized items (2 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11310013 | Griller Size 1 ( 30 Ekor ) Frozen | 2) KRG | -60- PC 30 PC- |
| [F6] | 1 |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659889989 - noPO:
PO/26/0000135032 - noSO:
1691863154 - tanggal:
11 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN 300000000000 - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk: empty
Final items after SKU validation (1 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11310013 | 11310013 | AYAM SIZE1 FROZEN (0.75-0.8) KG(*) | 2 KRG | 60 PC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11310013 | 11310013 | AYAM SIZE1 FROZEN (0.75-0.8) KG(*) | 2 KRG | 60 PC |
35. Sample DO PFM-page-00021.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PT., CHAROEN POKPHAND INDONESIA TDK
KAWASAN INDUSTRI MODERN,
BANTEN
05:32:27
Kepada : Kepala Gudang
## DELIVERY ORDER
No. DO : 1691848523
00641246
Tanggal:
No. SO : 02 April 2026
No. PO : 1659877015
PO/26/0000121086
Kepada Yth :
Order Untuk : PT.PRIMAFOOD INTERNATIONAL
Alamat : DKI AREA
JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN,
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>JAKARTA UTARA, 14430\nJAKARTA UTARA</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11110074\n11310021\n11720055</td><td style='text-align: center; word-wrap: break-word;'>Ceker 1 KG Frozen ✓\nGriller Size B Frozen (1000-1100 G) PC ✓\nFull Wing Frozen-Pack ✓</td><td style='text-align: center; word-wrap: break-word;'>1\n2\n10</td><td style='text-align: center; word-wrap: break-word;'>KRG\nKRG\nBAG</td><td style='text-align: center; word-wrap: break-word;'>20 KG\n40 PC\n10 KG</td></tr><tr><td colspan="5">Barang dikirim dalam keadaan baik</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Truck No.</td><td colspan="2">B 9726 UCT\nPM TIMBUL ! JL. TIMBUL NO. 1 RT 07 RW 04, LATAN, IDN 12630 IDN</td><td rowspan="2"><img src="imgs/img_in_seal_box_952_745_1220_1027.jpg" alt="Image"" /></td><td rowspan="2">51 WH 01 EC JAGAKARSA JAKARTA SE\nBagian Penjualan</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Penerima Barang</td><td style='text-align: center; word-wrap: break-word;'>Tanda Tangan Supir</td><td style='text-align: center; word-wrap: break-word;'>Bagí</td></tr></table>
Lembar 1: Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
<div style="text-align: center;"><img src="imgs/img_in_footer_image_box_1559_1162_1720_1215.jpg" alt="Image" width="9%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659877015 - noPO:
PO/26/0000121086 - noSO:
1691848523 - tanggal:
02 April 2026 - vendorInfo:
PT., CHAROEN POKPHAND INDONESIA TDK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9726 UCT
Raw items (5 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11110074 | CEKER 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11310021 | AYAM SIZE BESAR (B) FROZ (1-1.1)KG/PC(*) | 2 KRG | 40 PC |
| 11720055 | FULL WING FROZ PACK 1 KG(*) | 10 KRG | 10 KG |
| Truck No. | B 9726 UCT | B 9726 UCT PM TIMBUL ! JL. TIMBUL NO. 1 RT 07 RW 04, LATAN, IDN 12630 IDN | 51 WH 01 EC JAGAKARSA JAKARTA SE |
| PM TIMBUL ! JL. TIMBUL NO. 1 RT 07 RW 04, LATAN, IDN 12630 IDN | 1 |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659877015 - noPO:
PO/26/0000121086 - noSO:
1691848523 - tanggal:
02 April 2026 - vendorInfo:
PT., CHAROEN POKPHAND INDONESIA TDK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9726 UCT
Sanitized items (5 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11110074 | Ceker 1 KG Frozen ✓ | 1 | 20 KG |
| 11310021 | Griller Size B Frozen (1000-1100 G) PC ✓ | 2 KRG | 40 PC |
| 11720055 | Full Wing Frozen-Pack ✓ | 10 KRG | 10 KG |
| Truck No. | B 9726 UCT | B 9726 UCT PM TIMBUL ! JL. TIMBUL NO. 1 RT 07 RW 04, LATAN, IDN 12630 IDN | 51 WH 01 EC JAGAKARSA JAKARTA SE |
| PM TIMBUL ! JL. TIMBUL NO. 1 RT 07 RW 04, LATAN, IDN 12630 IDN | 1 |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659877015 - noPO:
PO/26/0000121086 - noSO:
1691848523 - tanggal:
02 April 2026 - vendorInfo:
PT., CHAROEN POKPHAND INDONESIA TDK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9726 UCT
Final items after SKU validation (3 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11110074 | 11110074 | CEKER 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11310021 | 11310021 | AYAM SIZE BESAR (B) FROZ (1-1.1)KG/PC(*) | 2 KRG | 40 PC |
| 11720055 | 11720055 | FULL WING FROZ PACK 1 KG(*) | 10 KRG | 10 KG |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11110074 | 11110074 | CEKER 1 KG FROZEN (20 PAC/KARUNG)(*) | 1 KRG | 20 KG |
| 11310021 | 11310021 | AYAM SIZE BESAR (B) FROZ (1-1.1)KG/PC(*) | 2 KRG | 40 PC |
| 11720055 | 11720055 | FULL WING FROZ PACK 1 KG(*) | 10 KRG | 10 KG |
36. Sample DO PFM-page-00022.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PT. CHAROEN POKPHAND INDONESIA TBK RAWASAN INDUSTRI MODERN, BANTEN
05:54:31 / 2
ofTanggal : 16 April 2026
No. SO : 1691869400
No. DO : 1659896184
No. PO : P0/26/0000140731
Kepada : Kepala Gudang
00527182
## DELIVERY ORDER
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : DKI AREA
√
Alamat : JL. ANCOL BARAT VIII/1, ANCOL,
PADEMANGAN, JAKARTA UTARA, 14430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>12080101\n13010513\n13030502</td><td style='text-align: center; word-wrap: break-word;'>920 FIESTA SPICY CHICK 400 G\n304 Champ Chicken Sausage 375 Gr 15 Pack\n298 Champ Chicken Ball 500 GR Fr</td><td style='text-align: center; word-wrap: break-word;'>1 ✓ BOX\n1 ✓ BOX\n1 ✓ BOX</td><td style='text-align: center; word-wrap: break-word;'>12 PAC\n15 PAC\n10 PAC</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td><td style='text-align: center; word-wrap: break-word;'>11</td><td style='text-align: center; word-wrap: break-word;'>131</td></tr><tr><td colspan="3">Truck No. <img src="imgs/img_in_image_box_313_580_856_712.jpg" alt="Image"" /> <img src="imgs/img_in_seal_box_668_566_852_712.jpg" alt="Image"" /></td><td rowspan="4">Bagian Penjualan</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Penerima Barang HUB WARUNG JATI</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Tanda Tangan Supir</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Bag. Pengeluaran Barang</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_seal_box_21_591_287_752.jpg" alt="Image" width="21%" /></div>
<div style="text-align: center;"><img src="imgs/img_in_chart_box_994_568_1212_711.jpg" alt="Image" width="17%" /></div>
Lembar 1: Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
<div style="text-align: center;"><img src="imgs/img_in_footer_image_box_1043_852_1203_903.jpg" alt="Image" width="12%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659896184 - noPO:
PO/26/0000140731 - noSO:
1691869400 - tanggal:
16 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK RAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Raw items (6 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 12080101 | FIESTA SPICY CHICK 400 GR/PAC | 1 BOX | 12 PAC |
| 13010513 | CHAMP CHICK SSG 375 GR | 1 BOX | 15 PAC |
| 13030502 | CHAMP CHICK MEATBALL 500 GR | 1 BOX | 10 PAC |
| Truck No. | Truck No. | Truck No. | Bagian Penjualan |
| Penerima Barang HUB WARUNG JATI | 1 | Bagian Penjualan | |
| Bag. Pengeluaran Barang | 1 | Bagian Penjualan |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659896184 - noPO:
PO/26/0000140731 - noSO:
1691869400 - tanggal:
16 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK RAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk: empty
Sanitized items (6 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 12080101 | 920 FIESTA SPICY CHICK 400 G | 1 BOX | 12 PAC |
| 13010513 | 304 Champ Chicken Sausage 375 Gr 15 Pack | 1 BOX | 15 PAC |
| 13030502 | 298 Champ Chicken Ball 500 GR Fr | 1 BOX | 10 PAC |
| Truck No. | Truck No. | Truck No. | Bagian Penjualan |
| Penerima Barang HUB WARUNG JATI | 1 | Bagian Penjualan | |
| Bag. Pengeluaran Barang | 1 | Bagian Penjualan |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659896184 - noPO:
PO/26/0000140731 - noSO:
1691869400 - tanggal:
16 April 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK RAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk: empty
Final items after SKU validation (3 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 12080101 | 12080101 | FIESTA SPICY CHICK 400 GR/PAC | 1 BOX | 12 PAC |
| 13010513 | 13010513 | CHAMP CHICK SSG 375 GR | 1 BOX | 15 PAC |
| 13030502 | 13030502 | CHAMP CHICK MEATBALL 500 GR | 1 BOX | 10 PAC |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 12080101 | 12080101 | FIESTA SPICY CHICK 400 GR/PAC | 1 BOX | 12 PAC |
| 13010513 | 13010513 | CHAMP CHICK SSG 375 GR | 1 BOX | 15 PAC |
| 13030502 | 13030502 | CHAMP CHICK MEATBALL 500 GR | 1 BOX | 10 PAC |
37. Sample DO PFM-page-00023.jpg
Status: ✅ success
📐 Stage 0 — Pipeline Info
- Tilt detected:
0.05° - Auto-unwarped:
No
📄 Stage 1 — Raw OCR Markdown
This is the raw text extracted by PaddleOCR layout parser before any post-processing.
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN
05:51:51 / 2 of Tanggal : 07 May 2026
No. SO : 1691898090
00202816
No. DO : 1659922449
No. PO : PO/26/0000168198
Kepada : Kepala Gudang
## DELIVERY ORDER
Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
Order Untuk : PFM-KU
Alamat : JL. ANCOL BARAT VIII/1, ANCOL,
PADEMANGAN, JAKARTA UTARA, 14430
<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Kode Barang</td><td style='text-align: center; word-wrap: break-word;'>Nama Barang</td><td style='text-align: center; word-wrap: break-word;'>Banyak</td><td style='text-align: center; word-wrap: break-word;'>Jumlah</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>11750050</td><td style='text-align: center; word-wrap: break-word;'>☑Fillet Mitra 10 Kg ASLI</td><td style='text-align: center; word-wrap: break-word;'>1 BOX</td><td style='text-align: center; word-wrap: break-word;'>10 KG</td></tr><tr><td colspan="2">Barang dikirim dalam keadaan baik</td><td style='text-align: center; word-wrap: break-word;'>JL 237</td><td style='text-align: center; word-wrap: break-word;'>300</td></tr><tr><td colspan="4">Truck No. B 9259 BCU WH 01 / 01 PM KARANG BOLONG SERANG | JL RA KARANG BOLONG BANDULU (KP SEMPU <img src="imgs/img_in_seal_box_687_561_869_736.jpg" alt="Image"" />)</td></tr><tr><td colspan="4">Penerima Barang Tanda Tangan Supir Bag. Pengeluaran Barang Bagian Penjualan</td></tr></table>
<div style="text-align: center;"><img src="imgs/img_in_chart_box_33_595_250_760.jpg" alt="Image" width="17%" /></div>
Lembar 1: Customer
Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
<div style="text-align: center;"><img src="imgs/img_in_footer_image_box_1042_851_1203_903.jpg" alt="Image" width="12%" /></div>
🔍 Stage 2 — Layer 1: Regex Extraction (parseDOMetadata)
Regex patterns are applied to raw markdown to extract header fields and item rows.
Header fields (raw regex output):
- noDO:
1659922449 - noPO:
PO/26/0000168198 - noSO:
1691898090 - tanggal:
07 May 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9259 BCU
Raw items (3 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11750050 | FILLET MITRA 1 KG(*) | 1 BOX | 10 KG |
| Truck No. B 9259 BCU WH 01 / 01 PM KARANG BOLONG SERANG | JL RA KARANG BOLONG BANDULU (KP SEMPU ) | Truck No. B 9259 BCU WH 01 / 01 PM KARANG BOLONG SERANG | JL RA KARANG BOLONG BANDULU (KP SEMPU ) | Truck No. B 9259 BCU WH 01 / 01 PM KARANG BOLONG SERANG | JL RA KARANG BOLONG BANDULU (KP SEMPU ) | Truck No. B 9259 BCU WH 01 / 01 PM KARANG BOLONG SERANG | JL RA KARANG BOLONG BANDULU (KP SEMPU ) |
| Penerima Barang Tanda Tangan Supir Bag. Pengeluaran Barang Bagian Penjualan | Penerima Barang Tanda Tangan Supir Bag. Pengeluaran Barang Bagian Penjualan | Penerima Barang Tanda Tangan Supir Bag. Pengeluaran Barang Bagian Penjualan | Penerima Barang Tanda Tangan Supir Bag. Pengeluaran Barang Bagian Penjualan |
🧹 Stage 3 — Layer 2: Sanitized (sanitizeParsedMetadata)
Strict format enforcement: corrects date formats, trims whitespace, enforces field constraints.
Header fields (after sanitization):
- noDO:
1659922449 - noPO:
PO/26/0000168198 - noSO:
1691898090 - tanggal:
07 May 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat: empty
- orderUntuk: empty
- platTruk:
B 9259 BCU
Sanitized items (3 row(s)):
| kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|
| 11750050 | ☑Fillet Mitra 10 Kg ASLI | 1 BOX | 10 KG |
| Truck No. B 9259 BCU WH 01 / 01 PM KARANG BOLONG SERANG | JL RA KARANG BOLONG BANDULU (KP SEMPU ) | Truck No. B 9259 BCU WH 01 / 01 PM KARANG BOLONG SERANG | JL RA KARANG BOLONG BANDULU (KP SEMPU ) | Truck No. B 9259 BCU WH 01 / 01 PM KARANG BOLONG SERANG | JL RA KARANG BOLONG BANDULU (KP SEMPU ) | Truck No. B 9259 BCU WH 01 / 01 PM KARANG BOLONG SERANG | JL RA KARANG BOLONG BANDULU (KP SEMPU ) |
| Penerima Barang Tanda Tangan Supir Bag. Pengeluaran Barang Bagian Penjualan | Penerima Barang Tanda Tangan Supir Bag. Pengeluaran Barang Bagian Penjualan | Penerima Barang Tanda Tangan Supir Bag. Pengeluaran Barang Bagian Penjualan | Penerima Barang Tanda Tangan Supir Bag. Pengeluaran Barang Bagian Penjualan |
✅ Stage 4 — Layer 3: Final (SKU triple-check + store resolution)
SKU validated against master list (score ≥ 0.6 threshold). Items with noise SKU codes are filtered out. Store resolved from DB.
Final metadata:
- noDO:
1659922449 - noPO:
PO/26/0000168198 - noSO:
1691898090 - tanggal:
07 May 2026 - vendorInfo:
PT. CHAROEN POKPHAND INDONESIA TBK KAWASAN INDUSTRI MODERN, BANTEN - customerInfo:
PT.PRIMAFOOD INTERNATIONAL - alamat:
JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA - orderUntuk:
PX HEAD OFFICE ANCOL - platTruk:
B 9259 BCU
Final items after SKU validation (1 row(s)):
| kodeBarangOriginal | kodeBarang (corrected) | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11750050 | 11750050 | FILLET MITRA 1 KG(*) | 1 BOX | 10 KG |
🗃️ Stage 5 — Submitted Items (ready-to-use JSON)
These are the items actually returned to the caller and saved to the database.
| kodeBarangOriginal | kodeBarang | namaBarang | banyak | jumlah |
|---|---|---|---|---|
| 11750050 | 11750050 | FILLET MITRA 1 KG(*) | 1 BOX | 10 KG |