diff --git a/backend/config/pipeline_config_vllm.yaml b/backend/config/pipeline_config_vllm.yaml
index 6c93732..c2b4ce6 100644
--- a/backend/config/pipeline_config_vllm.yaml
+++ b/backend/config/pipeline_config_vllm.yaml
@@ -25,7 +25,7 @@ SubModules:
model_name: PP-DocLayoutV3
model_dir: null
batch_size: 8
- threshold: 0.3
+ threshold: 0.2
layout_nms: True
layout_unclip_ratio: [1.0, 1.0]
layout_merge_bboxes_mode:
diff --git a/backend/config/vllm_config.yaml b/backend/config/vllm_config.yaml
index d0124b5..183908e 100644
--- a/backend/config/vllm_config.yaml
+++ b/backend/config/vllm_config.yaml
@@ -1,6 +1,6 @@
# vLLM backend tuning for paddleocr genai_server
# Docs: https://www.paddleocr.ai/latest/en/version3.x/pipeline_usage/PaddleOCR-VL.html#331-server-side-parameter-adjustment
-gpu-memory-utilization: 0.6
+gpu-memory-utilization: 0.35
max-num-seqs: 4
enforce-eager: true
max-model-len: 2048
diff --git a/backend/pfm-web-app/reparse_unparsed.js b/backend/pfm-web-app/reparse_unparsed.js
new file mode 100644
index 0000000..0d373c9
--- /dev/null
+++ b/backend/pfm-web-app/reparse_unparsed.js
@@ -0,0 +1,44 @@
+const { Client } = require('pg');
+
+async function main() {
+ const client = new Client({
+ host: process.env.PGHOST || "paddleocr-db",
+ port: parseInt(process.env.PGPORT || "5432"),
+ user: process.env.PGUSER || "postgres",
+ password: process.env.PGPASSWORD || "postgres",
+ database: process.env.PGDATABASE || "dopfm",
+ });
+
+ await client.connect();
+ console.log('Connected to PG database.');
+
+ const res = await client.query("SELECT id, filename FROM documents WHERE parsed = false;");
+ console.log(`Found ${res.rows.length} documents to parse.`);
+
+ for (let i = 0; i < res.rows.length; i++) {
+ const row = res.rows[i];
+ console.log(`[${i+1}/${res.rows.length}] Reparsing ${row.filename} (ID: ${row.id})...`);
+ try {
+ const response = await fetch('http://localhost:3000/api/parse', {
+ method: 'POST',
+ headers: { 'Content-Type': 'application/json' },
+ body: JSON.stringify({ filename: row.filename })
+ });
+ if (response.ok) {
+ console.log(`Successfully triggered parse for ${row.filename}. Status: ${response.status}`);
+ } else {
+ console.error(`Failed to parse ${row.filename}. Status: ${response.status}, Error: ${await response.text()}`);
+ }
+ } catch (err) {
+ console.error(`Fetch error for ${row.filename}:`, err.message);
+ }
+ }
+
+ await client.end();
+ console.log('Done reparsing.');
+}
+
+main().catch(err => {
+ console.error('Fatal error:', err);
+ process.exit(1);
+});
diff --git a/backend/pfm-web-app/test_guided.js b/backend/pfm-web-app/test_guided.js
new file mode 100644
index 0000000..3226f0c
--- /dev/null
+++ b/backend/pfm-web-app/test_guided.js
@@ -0,0 +1,113 @@
+const fs = require('fs');
+const path = require('path');
+
+const PROXY_URL = 'http://localhost:8000/api/vllm-proxy/v1/chat/completions';
+const IMAGE_PATH = path.join(__dirname, '..', 'sources', 'test-images', '1782870899198-sample_do.jpeg');
+
+async function testGuidedDecoding() {
+ console.log('Reading test image from:', IMAGE_PATH);
+ if (!fs.existsSync(IMAGE_PATH)) {
+ console.error('Test image not found!');
+ process.exit(1);
+ }
+
+ const imageBuffer = fs.readFileSync(IMAGE_PATH);
+ const base64Image = imageBuffer.toString('base64');
+ const imageUrl = `data:image/jpeg;base64,${base64Image}`;
+
+ // JSON Schema for DO metadata
+ const jsonSchema = {
+ type: "object",
+ properties: {
+ tanggal: { type: "string" },
+ noPo: { type: "string" },
+ noSo: { type: "string" },
+ noDo: { type: "string" },
+ kepadaYth: { type: "string" },
+ orderUntuk: { type: "string" },
+ alamat: { type: "string" },
+ platTruk: { type: "string" },
+ namaDriver: { type: "string" },
+ namaPenerima: { type: "string" },
+ items: {
+ type: "array",
+ items: {
+ type: "object",
+ properties: {
+ nomor_sku: { type: "string" },
+ nama_barang: { type: "string" },
+ banyak: { type: "string" },
+ jumlah: { type: "string" }
+ },
+ required: ["nomor_sku", "nama_barang", "banyak", "jumlah"]
+ }
+ }
+ },
+ required: ["tanggal", "noPo", "noSo", "noDo", "kepadaYth", "items"]
+ };
+
+ const payload = {
+ model: "PaddleOCR-VL-1.6-0.9B",
+ messages: [
+ {
+ role: "user",
+ content: [
+ {
+ type: "image_url",
+ image_url: {
+ url: imageUrl
+ }
+ },
+ {
+ type: "text",
+ text: "Extract all structural details from this Delivery Order. Match the requested JSON Schema exactly."
+ }
+ ]
+ }
+ ],
+ temperature: 0.1,
+ max_tokens: 1024,
+ guided_json: JSON.stringify(jsonSchema) // standard vLLM guided JSON schema format
+ };
+
+ console.log('Sending request to vLLM proxy with JSON Schema...');
+ try {
+ const startTime = Date.now();
+ const response = await fetch(PROXY_URL, {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ body: JSON.stringify(payload)
+ });
+
+ console.log(`Response status: ${response.status} (${response.statusText})`);
+ const duration = ((Date.now() - startTime) / 1000).toFixed(2);
+ console.log(`Request completed in ${duration}s`);
+
+ const result = await response.json();
+ if (response.ok) {
+ console.log('=== SUCCESS RESPONSE ===');
+ console.log(JSON.stringify(result, null, 2));
+
+ const content = result.choices?.[0]?.message?.content;
+ console.log('\n=== EXTRACTED CONTENT ===');
+ console.log(content);
+
+ try {
+ const parsed = JSON.parse(content);
+ console.log('\nValid JSON parsed successfully! ✅');
+ console.log(parsed);
+ } catch (err) {
+ console.error('\nFailed to parse content as JSON! ❌', err.message);
+ }
+ } else {
+ console.error('=== ERROR RESPONSE ===');
+ console.error(result);
+ }
+ } catch (error) {
+ console.error('Request failed:', error);
+ }
+}
+
+testGuidedDecoding();
diff --git a/backend/pfm-web-app/test_notfound_images.js b/backend/pfm-web-app/test_notfound_images.js
new file mode 100644
index 0000000..903c136
--- /dev/null
+++ b/backend/pfm-web-app/test_notfound_images.js
@@ -0,0 +1,109 @@
+const fs = require('fs');
+const path = require('path');
+
+const PIPELINE_URL = 'http://localhost:8000/layout-parsing';
+const PROXY_URL = 'http://localhost:8000/api/vllm-proxy/v1/chat/completions';
+const UPLOADS_DIR = path.join(__dirname, '..', 'uploads');
+
+const notFoundImages = [
+ '1782888211457-rotated_1782888204591_rotated_1782888199962_rotated_1782888195402_CAP7202641176939787142.jpg',
+ '1782875064223-CAP2007290974474760139.jpg',
+ '1782884586047-CAP9169719214882332189.jpg',
+ '1782893409879-CAP4330863738757813156.jpg'
+];
+
+async function testImage(filename) {
+ console.log(`\n========================================`);
+ console.log(`TESTING FILE: ${filename}`);
+ console.log(`========================================`);
+
+ const filePath = path.join(UPLOADS_DIR, filename);
+ if (!fs.existsSync(filePath)) {
+ console.error(`File does not exist on disk: ${filePath}`);
+ return;
+ }
+
+ const fileBuffer = fs.readFileSync(filePath);
+ const base64Image = fileBuffer.toString('base64');
+
+ // Test 1: Hit the Layout Parsing Pipeline API
+ console.log('\n--- Test 1: Layout Parsing Pipeline (Standard) ---');
+ try {
+ const res = await fetch(PIPELINE_URL, {
+ method: 'POST',
+ headers: { 'Content-Type': 'application/json' },
+ body: JSON.stringify({
+ file: base64Image,
+ matchHistoryJob: false,
+ useLayoutDetection: true,
+ fileType: 1,
+ useDocUnwarping: false,
+ useDocOrientationClassify: true
+ })
+ });
+
+ if (res.ok) {
+ const data = await res.json();
+ const markdown = data.result?.layoutParsingResults?.[0]?.markdown?.text || data.layoutParsingResults?.[0]?.markdown?.text || '';
+ console.log('Resulting Markdown snippet (first 300 chars):');
+ console.log(markdown.substring(0, 300));
+ console.log(`\nDoes it contain PO, SO, DO or Tanggal?`);
+ console.log(`- "Tanggal": ${/Tanggal/i.test(markdown)}`);
+ console.log(`- "SO": ${/SO/i.test(markdown)}`);
+ console.log(`- "DO": ${/DO/i.test(markdown)}`);
+ console.log(`- "PO": ${/PO/i.test(markdown)}`);
+ } else {
+ console.error(`Pipeline returned status ${res.status}: ${await res.text()}`);
+ }
+ } catch (err) {
+ console.error('Pipeline test failed:', err.message);
+ }
+
+ // Test 2: Direct vLLM completions with simple extraction prompt
+ console.log('\n--- Test 2: Direct vLLM Simple Extraction ---');
+ try {
+ const res = await fetch(PROXY_URL, {
+ method: 'POST',
+ headers: { 'Content-Type': 'application/json' },
+ body: JSON.stringify({
+ model: "PaddleOCR-VL-1.6-0.9B",
+ messages: [
+ {
+ role: "user",
+ content: [
+ {
+ type: "image_url",
+ image_url: { url: `data:image/jpeg;base64,${base64Image}` }
+ },
+ {
+ type: "text",
+ text: "Read the top right section of the document. Extract Tanggal, No. SO, No. DO, and No. PO."
+ }
+ ]
+ }
+ ],
+ temperature: 0.1,
+ max_tokens: 300
+ })
+ });
+
+ if (res.ok) {
+ const data = await res.json();
+ const content = data.choices?.[0]?.message?.content;
+ console.log('vLLM Response:');
+ console.log(content);
+ } else {
+ console.error(`vLLM proxy returned status ${res.status}: ${await res.text()}`);
+ }
+ } catch (err) {
+ console.error('vLLM test failed:', err.message);
+ }
+}
+
+async function runAll() {
+ for (const filename of notFoundImages) {
+ await testImage(filename);
+ }
+}
+
+runAll();
diff --git a/backend/sources/test_images_report.md b/backend/sources/test_images_report.md
index 06e2d47..03ecbfc 100644
--- a/backend/sources/test_images_report.md
+++ b/backend/sources/test_images_report.md
@@ -1,23 +1,209 @@
# Batch OCR Parsing Test Report
-Processed **1** file from `backend/sources/test-images`.
+Processed **30** file from `backend/sources/test-images`.
## Summary Table
| No | Filename | Status | Tilt | Auto-Rotated | PO | SO | DO | Date | Store Match | Items Count |
|---|---|---|---|---|---|---|---|---|---|---|
-| 1 | `1782875271815-rotated_1782875258464_rotated_1782875254091_rotated_1782875250123_CAP1599226410575173446.jpg` | **Success** | 24.93° | Yes | `Not Found` | `1011221200` | `100043004` | `25 November 2020` | PX HEAD OFFICE ANCOL | 1 |
+| 1 | `1782870899198-sample_do.jpeg` | **Success** | 1.29° | Yes | `PO/26/0000230828` | `1691960321` | `1659980277` | `23 June 2026` | PX HEAD OFFICE ANCOL | 5 |
+| 2 | `1782872141829-rotated_1782872118246_rotated_1782872112296_rotated_1782872107513_CAP3481952560331460805.jpg` | **Success** | 0.16° | No | `PO/26/0000230828` | `1691960321` | `1659980277` | `23 June 2026` | PX HEAD OFFICE ANCOL | 2 |
+| 3 | `1782875271815-rotated_1782875258464_rotated_1782875254091_rotated_1782875250123_CAP1599226410575173446.jpg` | **Success** | 24.41° | Yes | `PO/20/0000100029` | `1011221200` | `100043004` | `25 November 2020` | PX HEAD OFFICE ANCOL | 1 |
+| 4 | `1782884664859-rotated_1782884661516_rotated_1782884658097_rotated_1782884654697_CAP5956452738616729026.jpg` | **Success** | 0.06° | No | `PO/26/0000178435` | `1691908676` | `1659932080` | `15 May 2026` | AYAM HITZ HO ANCOL | 1 |
+| 5 | `1782888127716-CAP6161747431193129837.jpg` | **Success** | 7.14° | Yes | `PO/26/0000241938` | `1691972227` | `1659990561` | `30 June 2026` | PX HEAD OFFICE ANCOL | 1 |
+| 6 | `1782888211457-rotated_1782888204591_rotated_1782888199962_rotated_1782888195402_CAP7202641176939787142.jpg` | **Success** | 0.00° | No | `PO/26/0000241938` | `1691972227` | `1659990561` | `30 June 2026` | PX HEAD OFFICE ANCOL | 1 |
+| 7 | `1782888609885-rotated_1782888593813_1000000454.jpg` | **Success** | 22.84° | Yes | `PO/26/0000238723` | `Not Found` | `Not Found` | `Not Found` | PX HEAD OFFICE ANCOL | 6 |
+| 8 | `1782890303600-1000000465.jpg` | **Success** | 17.41° | Yes | `PO/26/0000241302` | `1691972284` | `1659990583` | `30 June 2026` | PX HEAD OFFICE ANCOL | 8 |
+| 9 | `1782892728794-1000000466.jpg` | **Success** | 10.10° | Yes | `PO/26/0000241302` | `1691972284` | `1659990583` | `30 June 2026` | PX HEAD OFFICE ANCOL | 1 |
+| 10 | `1782909791970-sample_do.jpeg` | **Success** | 1.29° | Yes | `PO/26/0000230828` | `1691960321` | `1659980277` | `23 June 2026` | PX HEAD OFFICE ANCOL | 5 |
+| 11 | `IMG_20260630_145445.jpg` | **Success** | 10.71° | Yes | `PO/26/0000170727` | `1071721209` | `1057745004` | `25 May 2026` | PX HEAD OFFICE ANCOL | 1 |
+| 12 | `IMG_20260701_134446.jpg` | **Success** | 0.00° | No | `Not Found` | `Not Found` | `Not Found` | `Not Found` | PX HEAD OFFICE ANCOL | 1 |
+| 13 | `IMG_20260701_134504.jpg` | **Success** | 14.75° | Yes | `PO/26/0000241303` | `1691972285` | `1659990584` | `30 June 2026` | PRIMA XPRESS - TOWN HALL ANCOL | 1 |
+| 14 | `IMG_20260701_134533.jpg` | **Success** | 16.06° | Yes | `PO/26/0000241302` | `1691972284` | `1659990583` | `30 June 2026` | PX HEAD OFFICE ANCOL | 1 |
+| 15 | `IMG_20260701_134555.jpg` | **Success** | 0.15° | No | `PO/26/0000241304` | `2271289510` | `2272290022` | `30 June 2026` | PX HEAD OFFICE ANCOL | 1 |
+| 16 | `IMG_20260701_134555~2.jpg` | **Success** | 0.22° | No | `PO/26/0000241304` | `2271289510` | `2272290022` | `30 June 2026` | PX HEAD OFFICE ANCOL | 1 |
+| 17 | `IMG_20260701_134635.jpg` | **Success** | 7.31° | Yes | `PO/26/00002334` | `6451012981` | `6452013068` | `24 June 2026` | PX HEAD OFFICE ANCOL | 0 |
+| 18 | `IMG_20260701_134636.jpg` | **Success** | 13.63° | Yes | `Not Found` | `6451012981` | `6452013068` | `24 June 2026` | PX HEAD OFFICE ANCOL | 0 |
+| 19 | `IMG_20260701_134646.jpg` | **Success** | 2.44° | Yes | `PO/26/0000230199` | `1691960321` | `1659980277` | `23 June 2026` | PX HEAD OFFICE ANCOL | 5 |
+| 20 | `IMG_20260701_134646~2.jpg` | **Success** | 0.57° | No | `PO/26/0000230199` | `1691960321` | `1659980277` | `23 June 2026` | PX HEAD OFFICE ANCOL | 5 |
+| 21 | `IMG_20260701_134704.jpg` | **Success** | 15.16° | Yes | `Not Found` | `Not Found` | `Not Found` | `Not Found` | PX HEAD OFFICE ANCOL | 6 |
+| 22 | `IMG_20260701_134704~2.jpg` | **Success** | 16.36° | Yes | `PO/26/0000238723` | `Not Found` | `Not Found` | `Not Found` | PX HEAD OFFICE ANCOL | 6 |
+| 23 | `IMG_20260701_134810.jpg` | **Success** | 0.00° | No | `Not Found` | `Not Found` | `Not Found` | `Not Found` | N/A | 6 |
+| 24 | `IMG_20260701_134817.jpg` | **Success** | 5.81° | Yes | `PO/26/0000241303` | `1691972285` | `1659990584` | `30 June 2026` | PX HEAD OFFICE ANCOL | 1 |
+| 25 | `IMG_20260701_135900.jpg` | **Success** | 15.54° | Yes | `PO/26/0000241304` | `2271289510` | `2272290022` | `30 June 2026` | PX HEAD OFFICE ANCOL | 1 |
+| 26 | `IMG_20260701_135910.jpg` | **Success** | 4.51° | Yes | `PO/26/0000241938` | `1691972227` | `1659990561` | `30 June 2026` | PX HEAD OFFICE ANCOL | 1 |
+| 27 | `IMG_20260701_135923.jpg` | **Success** | 30.66° | Yes | `PO/26/0000241303` | `1691972285` | `1659990584` | `30 June 2026` | PX HEAD OFFICE ANCOL | 1 |
+| 28 | `IMG_20260701_135938.jpg` | **Success** | 27.40° | Yes | `PO/26/000024` | `1659990664` | `1659990664` | `30 June 2026` | PX HEAD OFFICE ANCOL | 6 |
+| 29 | `IMG_20260701_135950.jpg` | **Success** | 17.41° | Yes | `PO/26/0000241302` | `1691972284` | `1659990583` | `30 June 2026` | PX HEAD OFFICE ANCOL | 8 |
+| 30 | `IMG_20260701_140005.jpg` | **Success** | 10.10° | Yes | `PO/26/0000241302` | `1691972284` | `1659990583` | `30 June 2026` | PX HEAD OFFICE ANCOL | 1 |
## Detailed Results per Image
-### 1. `1782875271815-rotated_1782875258464_rotated_1782875254091_rotated_1782875250123_CAP1599226410575173446.jpg`
+### 1. `1782870899198-sample_do.jpeg`
- **Status**: Success
-- **Tilt Detected**: 24.93°
+- **Tilt Detected**: 1.29°
- **Auto-Rotated/Unwarped**: Yes
- **Extracted Metadata**:
- * **PO**: `Not Found`
+ * **PO**: `PO/26/0000230828`
+ * **SO**: `1691960321`
+ * **DO**: `1659980277`
+ * **Tanggal**: `23 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `B 9427 UXT`
+- **Raw Layout Markdown**:
+```markdown
+

+
+
+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.
+
+
+| Kode Barang | Nama Barang | JAKARTA UTARA, 1430\nJAKARTA UTA RA Banyak | Jumlah |
| Griller Size 2 ( 20 Ekor ) Frozen | 2 KRG | 40 PC |
| 11310014 | Griller Size A Frozen (900-1000 g) PC | 2 KRG | 40 PC |
| 11310024 | SBL Mitra 10 kg | 1 BOX | 10 KG |
| 11620056 | SBB Mitra 10 kg | 1 BOX | 10 KG |
| 11690053 | Full Wing Frozen Pack | 1 BOX | 10 KG |
| 11720055 | | | |
| Barang dikirim dalam keadaan baik | Jumlah | 83 110 |
| Truck No. B 9427 UXT PX HEAD OFFICE ANCOL : JL. ANCOL BARAT VIII NO. 1 JAKARTA UTA RA IDN |
| Penerima Barang | Tanda Tangan Supir | Bag. Pengeluaran Barang | Bagian Penjualan |
+
+Lembar 3 : Customer
+
+Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas. kekurangan barang tidak dapat kami layani
+```
+- **Parsed Items (5)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `11310014` | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | `2 KRG` | `40 PC` |
+ | `11310024` | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | `1 KRG` | `10 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` | `` |
+
+---
+
+### 2. `1782872141829-rotated_1782872118246_rotated_1782872112296_rotated_1782872107513_CAP3481952560331460805.jpg`
+- **Status**: Success
+- **Tilt Detected**: 0.16°
+- **Auto-Rotated/Unwarped**: No
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000230828`
+ * **SO**: `1691960321`
+ * **DO**: `1659980277`
+ * **Tanggal**: `23 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `N 2 KRG`
+- **Raw Layout Markdown**:
+```markdown
+Otterland Oleh - Dissekankan Oleh
+
+ESIA TDK
+
+KAWASHI BANTEN
+
+02:56:41
+
+ERN.
+
+Tanggal:
+
+No.SO : 23 June 2026
+
+No.DO : 1691960321
+
+No.PO : 1659980277
+
+## DELIVERY ORDER
+
+Kepada: Kepala Gudang
+
+P0/26/0000230828
+
+00168133
+
+Kepada Yth :
+
+Order Untuk : PT.PRIMAFOOD INTERNATIONAL
+
+Alamat : DKI AREA
+
+JL.ANCOL BARAT VIII/1.ANCOL.PADEMANGAN.
+
+
+| Kode Barang | Nama Barang | JAKARTA UTARA, 14430\nJAKARTA UTARA Banyak | Jumlah |
| 11310014\n11310024\n11620056\n11690053\n11720055 | ✓ 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 | 2 KRG\n2 KRG\n1 BOX\n1 BOX\n1 BOX\n1 BOX | |
| Jumlah | | |
| Barang dikirim dalam keadaan baik | 83 | 110 |
+
+Truck No.
+
+TO TO WH
+
+
+
+
+B 9427 UXT
+
+B 9427 UXT
+
+PX HEAD OFFICE ANCOL : JL ANCOL BARAT VIII NO 1 JAKARTA UTARA ION
+
+
+
+Penerima Barang
+
+Tanda Tangan Supir
+
+Bag. Pengeluaran Barang
+
+Bagian Penjualan
+
+Lember 3 Customer
+
+Jika D O ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani.
+
+Activate W
+```
+- **Parsed Items (2)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `11310014` | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | `2 KRG` | `` |
+ | `11310024` | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | `1 KRG` | `` |
+
+---
+
+### 3. `1782875271815-rotated_1782875258464_rotated_1782875254091_rotated_1782875250123_CAP1599226410575173446.jpg`
+- **Status**: Success
+- **Tilt Detected**: 24.41°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `PO/20/0000100029`
* **SO**: `1011221200`
* **DO**: `100043004`
* **Tanggal**: `25 November 2020`
@@ -43,9 +229,9 @@ No.PO:7012010000100029
Kepada Yth
-Order Untuk
+PT.PRIMAFOOD INTERNATIONAL
-PT.PRIMATOOS INTERNATIONAL
+Order Untuk
Alamat
@@ -79,7 +265,576 @@ Bag. Pengeluaran Barang
+Lember 1: Customer
+
Bagiah Penjualan
+
+Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat
+```
+- **Parsed Items (1)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `13030502` | CHAMP CHICK MEATBALL 500 GR | `200 BOX` | `10 PAC` |
+
+---
+
+### 4. `1782884664859-rotated_1782884661516_rotated_1782884658097_rotated_1782884654697_CAP5956452738616729026.jpg`
+- **Status**: Success
+- **Tilt Detected**: 0.06°
+- **Auto-Rotated/Unwarped**: No
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000178435`
+ * **SO**: `1691908676`
+ * **DO**: `1659932080`
+ * **Tanggal**: `15 May 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `AYAM HITZ HO ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `B 9723 CXS`
+- **Raw Layout Markdown**:
+```markdown
+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
+
+
+
+
+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
+
+
+| Kode Barang | Nama Barang | Banyak | Jumlah |
| 13012205 | 673 Asimo Sosis Ayam Kombinasi 375 Gr ASLI | 1 BOX | 15 PAC |
| Jumlah | 9 | 98 |
+
+Barang dikirim dalam keadaan baik
+
+Truck No.
+
+
+
+
+Penerima Barang
+
+B 9723 CXS
+
+PM TAKTAKAN SERANG
+
+WH 01 / 01
+
+JL RAYA JAKTAKAN
+
+
+
+
+
+NO 1 G, LONTAN BARU, SERANG, BANTEN
+
+
+
+
+Tanda Tangan Supir
+
+
+
+
+
+
+```
+- **Parsed Items (1)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `13012205` | ASIMO SOSIS AYAM KOMBINASI 375 GR (PAC) | `673 BOX` | `15 PAC` |
+
+---
+
+### 5. `1782888127716-CAP6161747431193129837.jpg`
+- **Status**: Success
+- **Tilt Detected**: 7.14°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000241938`
+ * **SO**: `1691972227`
+ * **DO**: `1659990561`
+ * **Tanggal**: `30 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `B 9257 JXR`
+- **Raw Layout Markdown**:
+```markdown
+
+
+
+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,
+
+
+| Kode Barang | Nama Barang | JAKARTA UTARA, 14450 JAKARTA UTARA | Banyak | Jumlah |
| 21002601 | Prima Nasi Spicy Chick Sambal Geprek COPY | 1 | 80X | 6 PAC |
| Barang dikirim dalam keadaan baik | Jumlah | | |
| Truck No. B 9257 JXR PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN | 1 WH 01 / 01 |
| Penerima Barang | Tanda Tangan Supir | Bag. Pengeluaran Barang | Bagian Penjualan |
+
+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
+```
+- **Parsed Items (1)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `21002601` | Prima Nasi Spicy Chick Sambal Geprek COPY | `1 80X` | `6 PAC` |
+
+---
+
+### 6. `1782888211457-rotated_1782888204591_rotated_1782888199962_rotated_1782888195402_CAP7202641176939787142.jpg`
+- **Status**: Success
+- **Tilt Detected**: 0.00°
+- **Auto-Rotated/Unwarped**: No
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000241938`
+ * **SO**: `1691972227`
+ * **DO**: `1659990561`
+ * **Tanggal**: `30 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `B 9257 JXR`
+- **Raw Layout Markdown**:
+```markdown
+
+| 000006 MA TELUR OMEGA (PC)(*) | 900 | PC | H/PCS | 1.950.00 | Amount |
| Qty | : | 900 | | | 1.755.000.00 |
| DEN POKPHAND INDONESIA Tbk | 00:21:27 | Tanggal : |
| IN INDUSTRI MODERN. | No. SO : 30 June 2026 |
| EN | No. DO : 1691972227 |
| No. PO : 1659990561 | PO/26/0000241938 |
+
+Kepada : Kepala Gudang
+
+31945
+
+Kepada Yth :
+
+Order Untuk : PT_PRIMAFOOD INTERNATIONAL
+
+Alamat :
+
+DKI AREA
+
+JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN,
+
+
+| Kode Barang | Nama Barang | JAKARTA UTARA, 14430\nJAKARTA UTARA | Banyak | Jumlah |
| 21002601 | Prima Nasi Spicy Chick Sambal Geprek COPY | 1 | 80X | 6 PAC✓ |
| Barang dikirim dalam keadaan baik | Jumlah | |
| 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 | 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 |
+
+adidas
+DANG
+SA UDANG
+```
+- **Parsed Items (1)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `21002601` | Prima Nasi Spicy Chick Sambal Geprek COPY | `1 80X` | `6 PAC✓` |
+
+---
+
+### 7. `1782888609885-rotated_1782888593813_1000000454.jpg`
+- **Status**: Success
+- **Tilt Detected**: 22.84°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000238723`
+ * **SO**: `Not Found`
+ * **DO**: `Not Found`
+ * **Tanggal**: `Not Found`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `B 9715 UXU`
+- **Raw Layout Markdown**:
+```markdown
+
+
+
+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
+
+
+| Kode Barang | Nama Barang | Banyak | Jumlah |
| 11310014 | Griller Size 2 ( 20 Ekor ) Frozen | 3 | 60 PG |
| 11310024 | Griller Size A Frozen ( 900-1000 G) PC | 2 | 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 |
| Barang dikirim dalam keadaan baik | Jumlah | 104 | 140 |
| Truck No. B 9715 UXU | WH Q1 / 01 |
| PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN. = |
| Penerima Barang | Tanda Tangan Supir | Bag. Pengeluaran Barang | Bagian Penjualan |
+
+
+
+
+Lembar 3 : Customer
+
+Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
+```
+- **Parsed Items (6)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `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 PAC` |
+ | `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` |
+
+---
+
+### 8. `1782890303600-1000000465.jpg`
+- **Status**: Success
+- **Tilt Detected**: 17.41°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000241302`
+ * **SO**: `1691972284`
+ * **DO**: `1659990583`
+ * **Tanggal**: `30 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `N/A`
+- **Raw Layout Markdown**:
+```markdown
+
+| CHARDEN POKPHAND INDONESIA TBK | 06:28:48 / 1 | otTanggal : | 30 June 2026 |
| AWASAM INDUSTRI MODERN. | | No. SO : | 1691972284 |
| BANTEN | | No. DO : | 1659990583 |
| | No. PO : | PO/26/0000241302 |
+
+
+
+
+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
+
+
+
+
+| Kode Barang | Nama Barang | Banyak | Jumlah |
| 12010509
+12010512
+12010519
+12012501
+12012503
+13010116
+13010514
+13030502 | 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 | 1 BOX
+1 BOX
+1 BOX
+1 BOX
+1 BOX
+1 BOX
+1 BOX | 10 PAC
+6 PAC
+6 PAC
+20 PAC
+5 PAC
+20 PAC
+10 PAC
+10 PAC |
| Barang dikirim dalam keadaan baik | Jumlah | | |
 |  | WH 01 / 01
+HEAD OFFICE ANCOL ! JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN | |
+
+Lembar3 : Customer
+
+3 : Customer
+```
+- **Parsed Items (8)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `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` |
+
+---
+
+### 9. `1782892728794-1000000466.jpg`
+- **Status**: Success
+- **Tilt Detected**: 10.10°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000241302`
+ * **SO**: `1691972284`
+ * **DO**: `1659990583`
+ * **Tanggal**: `30 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `B 9256 JXR`
+- **Raw Layout Markdown**:
+```markdown
+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
+
+
+
+
+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
+
+
+| Kode Barang | Nama Barang | Banyak | Jumlah |
| 15040101 | 903 Fiesta French F Batter Coated 500 GR | 1 BOX | 12 PAC |
| COPY | | |
| Barang dikirim dalam keadaan baik | Jumlah | 9 | 99 |
 | 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 | J | |
+
+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
+
+-
+```
+- **Parsed Items (1)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `15040101` | FIESTA BATTER COATED 500 GR | `1 BOX` | `12 PAC` |
+
+---
+
+### 10. `1782909791970-sample_do.jpeg`
+- **Status**: Success
+- **Tilt Detected**: 1.29°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000230828`
+ * **SO**: `1691960321`
+ * **DO**: `1659980277`
+ * **Tanggal**: `23 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `B 9427 UXT`
+- **Raw Layout Markdown**:
+```markdown
+
+
+
+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.
+
+
+| Kode Barang | Nama Barang | JAKARTA UTARA, 1430\nJAKARTA UTA RA Banyak | Jumlah |
| Griller Size 2 ( 20 Ekor ) Frozen | 2 KRG | 40 PC |
| 11310014 | Griller Size A Frozen (900-1000 g) PC | 2 KRG | 40 PC |
| 11310024 | SBL Mitra 10 kg | 1 BOX | 10 KG |
| 11620056 | SBB Mitra 10 kg | 1 BOX | 10 KG |
| 11690053 | Full Wing Frozen Pack | 1 BOX | 10 KG |
| 11720055 | | | |
| Barang dikirim dalam keadaan baik | Jumlah | 83 110 |
| Truck No. B 9427 UXT PX HEAD OFFICE ANCOL : JL. ANCOL BARAT VIII NO. 1 JAKARTA UTA RA IDN |
| Penerima Barang | Tanda Tangan Supir | Bag. Pengeluaran Barang | Bagian Penjualan |
+
+Lembar 3 : Customer
+
+Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas. kekurangan barang tidak dapat kami layani
+```
+- **Parsed Items (5)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `11310014` | AYAM SIZE 2 FROZEN (0.8-0.9)KG(*) | `2 KRG` | `40 PC` |
+ | `11310024` | AYAM SIZE A FROZEN (0.9-1)KG/PC(*) | `1 KRG` | `10 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` | `` |
+
+---
+
+### 11. `IMG_20260630_145445.jpg`
+- **Status**: Success
+- **Tilt Detected**: 10.71°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000170727`
+ * **SO**: `1071721209`
+ * **DO**: `1057745004`
+ * **Tanggal**: `25 May 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `N/A`
+- **Raw Layout Markdown**:
+```markdown
+☐ ☑ ☐ ☑
+
+.
+
+🔥 🌈 🔥 — ☕ ×
+
+WhatsApp Image 2026-06-23 at 10.41.41.jpeg
+
+
+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
+
+
+| Kode Barang | Nama Barang | JAKARTA UFARA | Banyak | Jumlah |
| 13030502 | 290 Champ Chicken Ball 500 GR Tr  | 1 | 80% | 10 PAC |
| Barang dikirim dalam keadaan baik | Jumlah | | |
+
+Truck Nò. " - " B 9536 000
+
+期日/01
+
+2771
+
+1200×1600 192 KB
+
+in
+
+[ ] [ ]
+
+121%
```
- **Parsed Items (1)**:
| Code (SKU) | Name | Qty | Price |
@@ -88,3 +843,1063 @@ Bagiah Penjualan
---
+### 12. `IMG_20260701_134446.jpg`
+- **Status**: Success
+- **Tilt Detected**: 0.00°
+- **Auto-Rotated/Unwarped**: No
+- **Extracted Metadata**:
+ * **PO**: `Not Found`
+ * **SO**: `Not Found`
+ * **DO**: `Not Found`
+ * **Tanggal**: `Not Found`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `B 9257 JXR`
+- **Raw Layout Markdown**:
+```markdown
+
+| Kode Barang | Nama Barang | 1.950.00 | Amount
+1.755.000.00 |
| 21002601 | Prima Nasi Spicy Chick Sambal Beprek COPY | 1 | 6 PAC✓ |
| Barang dikirim dalam keadaan baik | Jumlah | 6 |
| 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 |
+
+
+
+```
+- **Parsed Items (1)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `21002601` | Prima Nasi Spicy Chick Sambal Beprek COPY | `1` | `6 PAC✓` |
+
+---
+
+### 13. `IMG_20260701_134504.jpg`
+- **Status**: Success
+- **Tilt Detected**: 14.75°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000241303`
+ * **SO**: `1691972285`
+ * **DO**: `1659990584`
+ * **Tanggal**: `30 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PRIMA XPRESS - TOWN HALL ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN, JAKARTA UTARA, DKI JAKARTA (KANTIN CPI)`
+ * **Plat Nomor**: `N/A`
+- **Raw Layout Markdown**:
+```markdown
+
+| 70000006 PRIMA TELUR OMEGA (PC)(*) qty unit | H/PCS | 1.950.00 | 1.755.000.00 |
| Total qty : | 900 | 06:28:57 | Tanggal : 30 June 2026\nNo. SO : 1691972285\nNo. DO : 1659990584\nNo. PO : 07/26/0000241303 |
| INDONESIA TbK | RN. |
+
+## 00088617
+
+## DELIVERY ORDER
+
+Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
+
+Order Untuk : DKI AREA
+
+Alamat : JL. ANCOL BARAT VIII/1. ANCOL. PADEMANGAN.
+
+JAKARTA UTARA. 14430
+
+
+| Kode Barang | Nama Barang | Banyak | Jumlah |
| 21010104 | Fiesta Beet Rendang W Rice 320G 6PC | 1 BOX | 6 PAC |
| COPY | | |
| Barang dikirim dalam keadaan baik | Jumlah | 1 | 6 |
 |  | WH 01 / 01 |
| JAKARTA UTARA IDN |
| Bag. Pengeluaran Barang | Bagian Penjualan |
+
+Lembar 3 : Customer
+
+Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
+```
+- **Parsed Items (1)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `21010104` | NEW FIESTA BEEF RENDANG W RICE 320GR (PAC) | `1 BOX` | `6 PAC` |
+
+---
+
+### 14. `IMG_20260701_134533.jpg`
+- **Status**: Success
+- **Tilt Detected**: 16.06°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000241302`
+ * **SO**: `1691972284`
+ * **DO**: `1659990583`
+ * **Tanggal**: `30 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `B 9256 JXR`
+- **Raw Layout Markdown**:
+```markdown
+
+| PT. CHAROEN POKPHAND INDOONESIA Tbk | 06:28:48 / 2 | of Tanggal : | 30 June 2026 |
| KAWASAN INDUSTRI MODERN. | | No. SO : | 1691972284 |
| BANTEN | | No. DO : | 1659990583 |
| | No. PO : | PO/26/0000241302 |
+
+00088616
+
+pada : Kepala Gudang
+
+## DELIVERY ORDER
+
+Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
+
+Order Untuk : DKI AREA
+
+Alamat
+
+JL. ANCOL BARAT VIII/1. ANCOL.
+
+PADEMANGAN. JAKARTA UTARA. 14430
+
+JAKARTA UTARA
+
+
+| Kode Barang | Nama Barang | Banyak | Jumlah |
| 15040101 | 903 Fiesta French F Batter Coated 500 GR | 1 BOX | 12 PAC |
| | | |
| Barang dikirim dalam keadaan baik | Jumlah | 9 | 99 |
| Truck No. B 9256 JXR WH 01 / 01 PX HEAD OFFICE ANCOL ! JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN | | | |
| Penerima Barang Tanda Tangan Supir Bag. Pengeluaran Barang Bagian Penjualan | | | |
+
+
+
+
+Lernbar 3 Customer
+
+Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
+```
+- **Parsed Items (1)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `15040101` | FIESTA BATTER COATED 500 GR | `1 BOX` | `12 PAC` |
+
+---
+
+### 15. `IMG_20260701_134555.jpg`
+- **Status**: Success
+- **Tilt Detected**: 0.15°
+- **Auto-Rotated/Unwarped**: No
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000241304`
+ * **SO**: `2271289510`
+ * **DO**: `2272290022`
+ * **Tanggal**: `30 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `N/A`
+- **Raw Layout Markdown**:
+```markdown
+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.
+
+
+| Kode Barang | Nama Barang | JAKARTA UTARA, 14430\nJAKARTA UTARA | Banyak | Jumlah |
| 11048006 | PARTING 150 - 160 GR FRZ PACK\nCOPY | 2 | BOX | 30 PAC ✓ |
| Barang dikirim dalam keadaan baik | Jumlah | | |
| Truck No. |  |  | 2 | 30 |
| Lembar 3 - Customer |  | Bag. Pengeluaran Barang | UTARA IDN | Bagian Penjualan |
+
+
+
+```
+- **Parsed Items (1)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `11048006` | BEBEK PARTING-NEW(*) | `2 ` | `30 ` |
+
+---
+
+### 16. `IMG_20260701_134555~2.jpg`
+- **Status**: Success
+- **Tilt Detected**: 0.22°
+- **Auto-Rotated/Unwarped**: No
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000241304`
+ * **SO**: `2271289510`
+ * **DO**: `2272290022`
+ * **Tanggal**: `30 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `N/A`
+- **Raw Layout Markdown**:
+```markdown
+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.
+
+
+| Kode Barang | Nama Barang | JAKARTA UTARA. 14430\nJAKARTA UTARA | Banyak | Jumlah |
| 11048000 | PARTING 150 - 160 GR FRZ PACK\nCOPY | 2 | BOX | 30 PAC ✓ |
 |
| Barang dikirim dalam keadaan baik |
| Truck No | BARAT | 2 | 30 |
 |  |  | UTARA IDN |
| Lembar 3 - Customer | Bagian Penjualan |
+
+
+
+```
+- **Parsed Items (1)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `11048000` | PARTING 150 - 160 GR FRZ PACK | `2 BOX` | `30 PAC ✓` |
+
+---
+
+### 17. `IMG_20260701_134635.jpg`
+- **Status**: Success
+- **Tilt Detected**: 7.31°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `PO/26/00002334`
+ * **SO**: `6451012981`
+ * **DO**: `6452013068`
+ * **Tanggal**: `24 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `N/A`
+- **Raw Layout Markdown**:
+```markdown
+
+
+
+Kepada : Kepala Gudang
+
+0015307
+
+
+ | Tanggal | : | |
| ASIONAL | 11:29:03 | No. SO | : 24 June 2026 |
| No.1 | No. DO | : | 6451012981 |
| DELIVERY ORDER | No. PO | : 6452013068 |
| | PO/26/00002334 | |
+
+Kepada Yth :
+
+Order Untuk : PT.PRIMAFOOD INTERNATIONAL
+
+Alamat : PRIMA FRESHMART HEAD OFFICE
+
+JL ANCOL BARAT VIII / 1. ANCOL PADEMANGAN
+
+
+| Kode Barang | Nama Barang | Banyak | Jumlah |
| 220122 | Meiji 4.3 Deluxe Milk 946 ML | 1 | CAR 12 PC ✓ |
| Barang dikirim dalam keadaan baik | Jumlah | |
| Truck No. | 1 | 12 |
 | Tanda Tangan Sopir |  | Bag. Pengeluaran Barang |
+
+
+
+
+Lembar 3 : Expedisi
+
+Bagian Penjualan
+
+Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami lavani
+```
+- **Parsed Items (0)**:
+ *No valid SKU items parsed.*
+
+---
+
+### 18. `IMG_20260701_134636.jpg`
+- **Status**: Success
+- **Tilt Detected**: 13.63°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `Not Found`
+ * **SO**: `6451012981`
+ * **DO**: `6452013068`
+ * **Tanggal**: `24 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `N/A`
+- **Raw Layout Markdown**:
+```markdown
+
+
+
+Kepada : Kepala Gudang
+
+
+ | Tanggal | : | |
| ASIONAL | 11:29:03 | No. SO | : 24 June 2026 |
| No.1 | DELIVERY ORDER | No. DO | : 6451012981 |
| No.1 | DELIVERY ORDER | No. PO | : 6452013068 |
+
+0015307
+
+Kepada Yth :
+
+Order Untuk : PT.PRIMAFOOD INTERNATIONAL
+
+Alamat : PRIMA FRESHMART HEAD OFFICE
+
+JL.ANCOL BARAT VIII / 1. ANCOL PADEMANGAN
+
+
+
+
+| Kode Barang | Nama Barang | Banyak | Jumlah |
| 220122 | Meiji 4.3 Deluxe Milk 946 ML | 1 | CAR 12 PC |
| Barang dikirim dalam keadaan baik | Jumlah | | |
+
+
+
+
+Truck No.
+
+
+
+
+Penerima Barang
+
+Lembar 3 : Expedisi
+
+Tanda Tangan Sopir
+
+
+
+
+Bag. Pengeluaran Barang
+
+Bagian Penjualan
+
+Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CL AlM atas kekurangan barang tidak dapat kami layani.
+```
+- **Parsed Items (0)**:
+ *No valid SKU items parsed.*
+
+---
+
+### 19. `IMG_20260701_134646.jpg`
+- **Status**: Success
+- **Tilt Detected**: 2.44°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000230199`
+ * **SO**: `1691960321`
+ * **DO**: `1659980277`
+ * **Tanggal**: `23 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `B 9427 UXT`
+- **Raw Layout Markdown**:
+```markdown
+## l’arqueur
+
+Nomor P.O : PO/26/0000230199
+
+KAWASAKI INDUSTRI MODERN.
+
+SANTEN
+
+Kepala Gudang
+
+00168133
+
+:22/06/2026
+
+02:56:41
+
+Tanggal :
+
+No. SO : 23 June 2026
+
+## DELIVERY ORDER
+
+No. DO : 1691960321
+
+Kepada Yth :
+
+No. PO : 1659980277
+
+PO/26/0000230828
+
+Order Untuk : PT.PRIMAFOOD INTERNATIONAL
+
+Alamat : DKI AREA
+
+JL. ANCOL BARAT VIII/1. ANCOL. PADEMANGAN.
+
+
+| Kode Barang | Nama Barang | JAKARTA UTARA, 14430\nJAKARTA UTARA | Banyak | Jumlah |
| 11310014\n11310024\n11620056\n11690053\n11720055 | ✓ Griller Size 2 ( 20 Ekor ) Frozen\n✓ Griller Size A Frozen (900-1000 G) PC\n✓ SBL Mitra 10 Kg\n✓ SBB Mitrd 10 Kg\n✓ Full Wing Frozen Pack | 2 | KRG | 40 PC |
| 2 | KRG | 40 PC |
| 1 | BOX | 10 KG |
| 1 | BOX | 10 KG |
| 1 | BOX | 10 KG |
| Barang dikirim dalam keadaan baik | Jumlah | | | |
| Truck No. | 83 | 110 | |
| B 9427 UXT | WH 01 / 01 | |
| PX, HEAD OFFICE ANCOL / JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN | |
| Penerima Barang | Tanda Tangan Supir | Bag. Pengeluaran Barang | Bagian Penjualan | |
+
+3 : Customer
+
+Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
+
+CODY PO SEIAU DI BAY
+
+pp.v
+```
+- **Parsed Items (5)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `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` |
+
+---
+
+### 20. `IMG_20260701_134646~2.jpg`
+- **Status**: Success
+- **Tilt Detected**: 0.57°
+- **Auto-Rotated/Unwarped**: No
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000230199`
+ * **SO**: `1691960321`
+ * **DO**: `1659980277`
+ * **Tanggal**: `23 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `B 9427 UXT`
+- **Raw Layout Markdown**:
+```markdown
+## Purchase Order
+
+
+ | Nomor P.O | : PO/26/0000230199 |
| : 22/06/2026 |
| KAWASAKI INDUSTRI MODERN. | 02:56:41 | Tanggal : | |
| BANTEN | No. SO : | 23 June 2026 |
| No. DO : | 1691960321 |
| No. PO : | 1659980277 |
| DELIVERY ORDER | PO/26/0000230828 |
+
+Kepala Gudang
+
+00169133
+
+Kepada Yth :
+
+Order Untuk : PT.PRIMAFOOD INTERNATIONAL
+
+Alamat : DKI AREA
+
+JL.ANCOL BARAT VIII/1.ANCOL.PADEMANGAN.
+
+
+| Kode Barang | Nama Barang | JAKARTA UTARA, 14430\nJAKARTA UTA RA | Banyak | Jumlah |
| 11310014\n11310024\n11620056\n11690053\n11720055 | ✓ 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 | 2 | KRG | 40 PC |
| 2 | KRG | 40 PC |
| 1 | BOX | 10 KG |
| 1 | BOX | 10 KG |
| 1 | BOX | 10 KG |
| Barang dikirim dalam keadaan baik | Jumlah | | | |
| Truck No. B 9427 UXT\nPX, HEAD OFFICE ANCOL ; JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN | |
| Penerima Barang Tanda Tangan Supir\nBag. Pengeluaran Barang | |
| 3 : Customer Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani | |
+
+
+| COPY P.O SELALU | PPN | 254,000.00 |
| | Total | |
| | Menyetujui | |
+```
+- **Parsed Items (5)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `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` |
+
+---
+
+### 21. `IMG_20260701_134704.jpg`
+- **Status**: Success
+- **Tilt Detected**: 15.16°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `Not Found`
+ * **SO**: `Not Found`
+ * **DO**: `Not Found`
+ * **Tanggal**: `Not Found`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `B 9715 UXU`
+- **Raw Layout Markdown**:
+```markdown
+
+
+
+Kepala : Kepala Gudang
+
+00161083
+
+05-50
+
+Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
+
+
+
+Order Untuk : DKI AREA
+
+65-50 Alamat : JL. ANCOL BARAT VIII/1. ANCOL. PADENMANGAN.
+
+JAKARTA UTARA, 14430
+
+
+| Kode Barang | Nama Barang | Banyak | Jumlah |
| 11310014 | Griller Size 2 ( 20 Ekor ) Frozen | 3 | 60 PG |
| 11310024 | Griller Size A Frozen ( 900-1000 G) PC | 2 | 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 |
| Barang dikirim dalam keadaan baik | Jumlah | 104 | 140 |
| Truck No. B 9715 UXU PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN. 01 / 01 |
| Penerima Barang | Tanda Tangan Supir | Bag. Pengeluaran Barang | Bagian Penjualan |
+
+
+
+
+Lembar 3 : Customer
+
+Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
+```
+- **Parsed Items (6)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `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 PAC` |
+ | `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` |
+
+---
+
+### 22. `IMG_20260701_134704~2.jpg`
+- **Status**: Success
+- **Tilt Detected**: 16.36°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000238723`
+ * **SO**: `Not Found`
+ * **DO**: `Not Found`
+ * **Tanggal**: `Not Found`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `B 9715 UXU`
+- **Raw Layout Markdown**:
+```markdown
+
+
+
+Kepala : Kepala Gudang
+
+00161083
+
+## DELIVERY ORDER
+
+No. PO : PO/26/0000238723
+
+05:58
+
+Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
+
+
+
+Order Untuk : DKI AREA
+
+65-50 Alamat : JL. ANCOL BARAT VIII/1. ANCOL. PADENANGAN.
+
+JAKARTA UTARA, 14430
+
+
+| Kode Barang | Nama Barang | Banyak | Jumlah |
| 11310014 | Griller Size 2 ( 20 Ekor ) Frozen | 3 | 60 PG |
| 11310024 | Griller Size A Frozen ( 900-1000 G) PC | 2 | 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 |
| Barang dikirim dalam keadaan baik | Jumlah | 104 | 140 |
| Truck No. B 9715 UXU | WH Q1 / 01 |
| PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN |
| Penerima Barang | Tanda Tangan Supir | Bag. Pengeluaran Barang | Bagian Penjualan |
+
+
+
+
+Lembar 3 : Customer
+
+Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
+```
+- **Parsed Items (6)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `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 PAC` |
+ | `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` |
+
+---
+
+### 23. `IMG_20260701_134810.jpg`
+- **Status**: Success
+- **Tilt Detected**: 0.00°
+- **Auto-Rotated/Unwarped**: No
+- **Extracted Metadata**:
+ * **PO**: `Not Found`
+ * **SO**: `Not Found`
+ * **DO**: `Not Found`
+ * **Tanggal**: `Not Found`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `N/A`
+ * **Alamat**: `N/A`
+ * **Plat Nomor**: `N 1 KRG`
+- **Raw Layout Markdown**:
+```markdown
+-
+
+
+| Kode Barang | Nama Barang | Banyak | Jumlah |
| 11140062\n11150064\n11310014\n11600053\n11650053\n11750050 | 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 | 1 KRG\n1 KRG\n3 KRG\n1 BOX\n1 BOX | 20 KG\n20 KG\n60 KG\n10 KG\n10 KG\n10 KG |
| Jumlah | 65 | 130 | |
+```
+- **Parsed Items (6)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `11140062` | AMPELA 1 KG FROZEN (20 PAC/KARUNG)(*) | `1 KRG` | `20 PAC` |
+ | `11150064` | HATI 1 KG FROZEN (20 PAC/KARUNG)(*) | `1 KRG` | `20 PAC` |
+ | `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` |
+
+---
+
+### 24. `IMG_20260701_134817.jpg`
+- **Status**: Success
+- **Tilt Detected**: 5.81°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000241303`
+ * **SO**: `1691972285`
+ * **DO**: `1659990584`
+ * **Tanggal**: `30 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `B 9256 JXR`
+- **Raw Layout Markdown**:
+```markdown
+
+| Total Qty | 900 | Tanggal : | 30 June 2026 |
| CHAROEM DOKPHAND INDOMESIA TbK | 06:28:57 | No. SO : | 1691972285 |
| AWASAN INDUSTRI MODERM. | | No. DO : | 1659990584 |
| LANTEN | | No. PO : | PO/26/0000241303 |
+
+Kepada : Kepala Gudang
+
+00088617
+
+
+
+
+## DELIVERY ORDER
+
+Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
+
+Order Untuk : DKI AREA
+
+Alamat : JL. ANCOL BARAT VIII/1. ANCOL. PADEMANGAN.
+
+JAKARTA UTARA. 14430
+
+
+| Kode Barang | Nama Barang | Banyak | Jumlah |
| 21010104 | Fiesta Beet Rendang W Rice 320G 6PC | 1 BOX | 6 PAC |
| Jumlah | 1 | 6 |
| Barang dikirim dalam keadaan baik |
Truck No. B 9256 JXR PX HEAD OFFICE ANCOL : JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN  |
| Penerima Barang | Bag. Pengeluaran Barang | Bagian Penjualan |
+
+Lemibar 3 : Customer
+
+Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
+
+
+
+```
+- **Parsed Items (1)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `21010104` | NEW FIESTA BEEF RENDANG W RICE 320GR (PAC) | `1 BOX` | `6 PAC` |
+
+---
+
+### 25. `IMG_20260701_135900.jpg`
+- **Status**: Success
+- **Tilt Detected**: 15.54°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000241304`
+ * **SO**: `2271289510`
+ * **DO**: `2272290022`
+ * **Tanggal**: `30 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `N/A`
+- **Raw Layout Markdown**:
+```markdown
+KPHAND INDONESIA TBK
+
+Industri VI NO. 1.
+
+04:59:54
+
+
+
+
+la: Kepala Gudang
+
+254227
+
+Tanggal :
+
+No.SO : 30 June 2026
+
+## DELIVERY ORDER
+
+No. DO : 2271289510
+
+No. PO : 2272290022
+
+PO/26/0000241304
+
+Kepada Yth :
+
+Order Untuk : PT.PRIMAFOOD INTERNATIONAL
+
+Alamat : DKI AREA
+
+JL. ANCOL BARAT VIII/1. ANCOL. PADEMANGAN.
+
+
+| Kode Barang | Nama Barang | JAKARTA UTARA, 14430\nJAKARTA UTARA | Banyak | Jumlah |
| 11048006 | PARTING 150 - 160 GR FRZ PACK\nCOPY | 2 | BOX | 30 PAC ✓ |
| Barang dikirim dalam keadaan baik | Jumlah | |
| Truk N |  | 2\nUTARA IDN | 30\nBagian Penjualan |
 | Tanda Tangan Supir\nCHARO | 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
+```
+- **Parsed Items (1)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `11048006` | BEBEK PARTING-NEW(*) | `2 ` | `30 ` |
+
+---
+
+### 26. `IMG_20260701_135910.jpg`
+- **Status**: Success
+- **Tilt Detected**: 4.51°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000241938`
+ * **SO**: `1691972227`
+ * **DO**: `1659990561`
+ * **Tanggal**: `30 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `B 9257 JXR`
+- **Raw Layout Markdown**:
+```markdown
+JEN POKPHAND INDONESIA TBK INDUSTRI MODERN.
+
+
+
+
+00:21:27
+
+Kepada : Kepala Gudang
+
+31945
+
+Tanggal :
+
+No.SO : 30 June 2026
+
+## DELIVERY ORDER
+
+No. DO : 1691972227
+
+No. PO : 1659990561
+
+PO/26/0000241938
+
+Kepada Yth :
+
+Order Untuk : PT.PRIMAFOOD INTERNATIONAL
+
+Alamat : DKI AREA
+
+JL. ANCOL BARAT VIII/1, ANCOL, PADEMANGAN,
+
+
+| Kode Barang | Nama Barang | JAKARTA UTARA, 14430\nJAKARTA UTARA | Banyak | Jumlah |
| 21002601 | Prima Nasi Spicy Chick Sambal Geprek COPY | 1 | 80X | 6 PAC✓ |
| Barang dikirim dalam keadaan baik | Jumlah | | |
| Truck No. B 9257 JXR PX HEAD OFFICE ANCOL | JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN | 1 WH 01 / 01 |
| Penerima Barang | Tanda Tangan Supir | Bag. Pengeluaran Barang | Bagian Penjualan |
+
+
+
+
+Lembar 3 : Customer
+
+Jika D.O. ini telah ditanda tanganj oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
+
+CAUCA
+```
+- **Parsed Items (1)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `21002601` | Prima Nasi Spicy Chick Sambal Geprek COPY | `1 80X` | `6 PAC✓` |
+
+---
+
+### 27. `IMG_20260701_135923.jpg`
+- **Status**: Success
+- **Tilt Detected**: 30.66°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000241303`
+ * **SO**: `1691972285`
+ * **DO**: `1659990584`
+ * **Tanggal**: `30 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `N/A`
+- **Raw Layout Markdown**:
+```markdown
+
+
+
+CHAROEN POKPHAND INDONESIA TBK
+
+WASAN INDUSTRI MODERN.
+
+LANTEN
+
+06:28:57
+
+Kepada : Kepala Gudang
+
+Tanggal : 30 June 2026
+
+No. SO : 1691972285
+
+
+
+
+00088617
+
+No. DO : 1659990584
+
+No. PO : PO/26/0000241303
+
+## DELIVERY ORDER
+
+Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
+
+Order Untuk : DKI AREA
+
+Alamat : JL. ANCOL BARAT VIII/1. ANCOL. PADEMANGAN.
+
+JAKARTA UTARA. 14430
+
+
+| Kode Barang | JAKARTA UTARA |
| Nama Barang | Banyak | Jumlah |
| 21010104 | Fiesta Beet Rendang W Rice 320G 6PC | 1 BOX | 6 PAC |
| COPY | | |
 | eadaan baik | Jumlah | 1 | 6 |
256 JXR
+HEAD OFFICE ANCOL ! JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN  | WH 01 / 01
+Bagian Penjualan | |
+
+Lembar 3 : Customer
+
+Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
+```
+- **Parsed Items (1)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `21010104` | NEW FIESTA BEEF RENDANG W RICE 320GR (PAC) | `320 BOX` | `1 PAC` |
+
+---
+
+### 28. `IMG_20260701_135938.jpg`
+- **Status**: Success
+- **Tilt Detected**: 27.40°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `PO/26/000024`
+ * **SO**: `1659990664`
+ * **DO**: `1659990664`
+ * **Tanggal**: `30 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `B 9256 JXR`
+- **Raw Layout Markdown**:
+```markdown
+CHAROEN POKPHAND INDONESI
+
+ANASAN INDUSTRI MODERN.
+
+BANTEN
+
+
+
+
+Kepada : Kepala Gudang
+
+00088633
+
+
+| TDK | Tanggal | 30 June 2026 |
| No. SO | 1691972419 |
| No. DO | 1659990664 |
| No. PO | PO/26/000024 |
+
+## DELIVERY ORDER
+
+Kepada Yth : PT.PRIMAFOOD INTERNATIONAL
+
+Order Untuk : DKI AREA
+
+Alamat : JL. ANCOL BARAT VIII/1. ANCOL. PADEMANGAN.
+
+JAKARTA UTARA. 14430
+
+
+| Kode Barang | Nama Barang | Banyak | Jumlah |
| 11140062 | Ampela 1 KG Frozen | 1 | 20 KG ✓ |
| 11150064 | Hati 1 KG Frozen | 1 | 20 KG ✓ |
| 11310014 | Griller Size 2 ( 20 Ekor ) Frozen | 3 | 60 KG ✓ |
| 11600053 | BL Mitra 10 Kq | 1 | 10 KG ✓ |
| 11650053 | Thighstick Frozen Pack | 1 | 10 KG ✓ |
| 11750050 | Fillet Mitra 10 Kq | 1 | 10 KG ✓ |
| Barang dikirim dalam keadaan baik | Jumlah | 65 |
Truck No. B-9256 JXR PX HEAD OFFICE ANCOL ! JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN  | WH 01 / 01 |
| Penerima Barang | Tanda Tangan Supit | Bag. Pengeluaran Barang | Bagian Penjualan |
+
+
+
+
+Lembar 3 : Customer
+
+Jika D.O. ini telah ditanda tangan oleh Penerima barang tanpa sanggahan, segala CLAIM atas kekurangan barang tidak dapat kami layani
+```
+- **Parsed Items (6)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `11140062` | AMPELA 1 KG FROZEN (20 PAC/KARUNG)(*) | `1 KRG` | `20 PAC` |
+ | `11150064` | HATI 1 KG FROZEN (20 PAC/KARUNG)(*) | `1 KRG` | `20 PAC` |
+ | `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` |
+
+---
+
+### 29. `IMG_20260701_135950.jpg`
+- **Status**: Success
+- **Tilt Detected**: 17.41°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000241302`
+ * **SO**: `1691972284`
+ * **DO**: `1659990583`
+ * **Tanggal**: `30 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `G 1 BOX`
+- **Raw Layout Markdown**:
+```markdown
+
+| CHARDEN POKPHAND INDONESIA TBK | 06:28:48 / 1 | otTanggal : | 30 June 2026 |
| AWASAM INDUSTRI MODERN. | | No. SO : | 1691972284 |
| BANTEN | | No. DO : | 1659990583 |
| | No. PO : | PO/26/0000241302 |
+
+
+
+
+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
+
+
+
+
+| Kode Barang | Nama Barang | 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 |
| Barang dikirim dalam keadaan baik | Jumlah | |
 | 56 JXR | WH 01 / 01 |
HEAD OFFICE ANCOL ! JL. ANCOL BARAT VIII NO. 1 JAKARTA UTARA IDN  |
| Bag. Pengeluaran Barang Bagian Peniualan |
+
+Lembar3 : Customer
+
+3 : Customer
+```
+- **Parsed Items (8)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `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` |
+
+---
+
+### 30. `IMG_20260701_140005.jpg`
+- **Status**: Success
+- **Tilt Detected**: 10.10°
+- **Auto-Rotated/Unwarped**: Yes
+- **Extracted Metadata**:
+ * **PO**: `PO/26/0000241302`
+ * **SO**: `1691972284`
+ * **DO**: `1659990583`
+ * **Tanggal**: `30 June 2026`
+ * **Customer**: `PT.PRIMAFOOD INTERNATIONAL`
+ * **Store**: `PX HEAD OFFICE ANCOL`
+ * **Alamat**: `JL. ANCOL BARAT VIII/1 KEL. ANCOL, KEC. PADEMANGAN JAKARTA UTARA, DKI JAKARTA`
+ * **Plat Nomor**: `B 9256 JXR`
+- **Raw Layout Markdown**:
+```markdown
+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
+
+
+
+
+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
+
+
+| Kode Barang | Nama Barang | Banyak | Jumlah |
| 15040101 | 903 Fiesta French F Batter Coated 500 GR | 1 BOX | 12 PAC |
| COPY | | |
| Barang dikirim dalam keadaan baik | Jumlah | 9 | 99 |
 | 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 | J | |
+
+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
+
+-
+```
+- **Parsed Items (1)**:
+ | Code (SKU) | Name | Qty | Price |
+ |---|---|---|---|
+ | `15040101` | FIESTA BATTER COATED 500 GR | `1 BOX` | `12 PAC` |
+
+---
+