{ "audit": "runtime-payload", "overallStatus": "PASS", "staticLabelsStatus": "PASS", "quotationCode": "CRA2606-1121", "templateName": "ALLA Demo Organization Quotation Standard", "templateVersion": "1.0", "findingCount": 86, "findings": [ { "field": "documentData.company.id", "source": "documentData", "status": "PASS", "value": "daf796fc-4588-5240-a27e-9bfef0739658", "message": "String is populated" }, { "field": "documentData.company.name", "source": "documentData", "status": "PASS", "value": "ALLA Demo Organization", "message": "String is populated" }, { "field": "documentData.customer.id", "source": "documentData", "status": "PASS", "value": "a6d9dec1-ff9d-4749-9542-f16d8efcf761", "message": "String is populated" }, { "field": "documentData.customer.name", "source": "documentData", "status": "PASS", "value": "บริษัท แอดวานซ์ โปรเจค คอนซัลแทนท์ จำกัด", "message": "String is populated" }, { "field": "documentData.customer.address", "source": "documentData", "status": "PASS", "value": "Bang Pakong, Chachoengsao", "message": "String is populated" }, { "field": "documentData.customer.phone", "source": "documentData", "status": "PASS", "value": "02-600832", "message": "String is populated" }, { "field": "documentData.customer.email", "source": "documentData", "status": "PASS", "value": "@example.co.th", "message": "String is populated" }, { "field": "documentData.contact.id", "source": "documentData", "status": "PASS", "value": "df4b3f5f-a4e0-42d7-9181-d56319b23275", "message": "String is populated" }, { "field": "documentData.contact.name", "source": "documentData", "status": "PASS", "value": "คุณวราภรณ์ จิรโรจน์", "message": "String is populated" }, { "field": "documentData.contact.email", "source": "documentData", "status": "PASS", "value": "@.co.th", "message": "String is populated" }, { "field": "documentData.contact.mobile", "source": "documentData", "status": "PASS", "value": "0810000303", "message": "String is populated" }, { "field": "documentData.contact.position", "source": "documentData", "status": "PASS", "value": "Maintenance Supervisor", "message": "String is populated" }, { "field": "documentData.quotation.id", "source": "documentData", "status": "PASS", "value": "16ea6fca-ef77-4cb9-8079-0b8dbcdbff57", "message": "String is populated" }, { "field": "documentData.quotation.code", "source": "documentData", "status": "PASS", "value": "CRA2606-1121", "message": "String is populated" }, { "field": "documentData.quotation.projectName", "source": "documentData", "status": "PASS", "value": "บริษัท แอดวานซ์ โปรเจค คอนซัลแทนท์ จำกัด - Phase 2", "message": "String is populated" }, { "field": "documentData.quotation.projectLocation", "source": "documentData", "status": "PASS", "value": "Bang Pakong, Chachoengsao", "message": "String is populated" }, { "field": "documentData.quotation.attention", "source": "documentData", "status": "PASS", "value": "Attention", "message": "String is populated" }, { "field": "documentData.quotation.reference", "source": "documentData", "status": "PASS", "value": "Reference", "message": "String is populated" }, { "field": "documentData.quotation.currency", "source": "documentData", "status": "PASS", "value": "THB", "message": "String is populated" }, { "field": "documentData.quotation.currencyCode", "source": "documentData", "status": "PASS", "value": "THB", "message": "String is populated" }, { "field": "documentData.quotation.subtotal", "source": "documentData", "status": "PASS", "value": 0, "message": "Scalar value is populated" }, { "field": "documentData.quotation.totalAmount", "source": "documentData", "status": "PASS", "value": 0, "message": "Scalar value is populated" }, { "field": "documentData.items", "source": "documentData", "status": "PASS", "value": "rows:0", "message": "Array shape is valid" }, { "field": "documentData.quotationCustomers", "source": "documentData", "status": "PASS", "value": "rows:2", "message": "Collection payload is populated" }, { "field": "documentData.quotationCustomers[0].id", "source": "documentData", "status": "PASS", "value": "8eac2230-5fc4-4e14-9fa4-b7457efe5660", "message": "String is populated" }, { "field": "documentData.quotationCustomers[0].customerId", "source": "documentData", "status": "PASS", "value": "05ae3d52-1157-499e-b6b2-d7e5ab509e4e", "message": "String is populated" }, { "field": "documentData.quotationCustomers[0].role", "source": "documentData", "status": "PASS", "value": "a3b51c9b-e1e6-48b9-95ba-f6e35ba5406e", "message": "String is populated" }, { "field": "documentData.quotationCustomers[0].isPrimary", "source": "documentData", "status": "PASS", "value": false, "message": "Scalar value is populated" }, { "field": "documentData.quotationCustomers[1].id", "source": "documentData", "status": "PASS", "value": "a8a589b5-5de5-403a-a6bb-a6d9c55efe71", "message": "String is populated" }, { "field": "documentData.quotationCustomers[1].customerId", "source": "documentData", "status": "PASS", "value": "a6d9dec1-ff9d-4749-9542-f16d8efcf761", "message": "String is populated" }, { "field": "documentData.quotationCustomers[1].role", "source": "documentData", "status": "PASS", "value": "cfaf96fd-39a2-4074-b295-a4798cf23253", "message": "String is populated" }, { "field": "documentData.quotationCustomers[1].isPrimary", "source": "documentData", "status": "PASS", "value": true, "message": "Scalar value is populated" }, { "field": "documentData.topics.all", "source": "documentData", "status": "PASS", "value": "rows:0", "message": "Array shape is valid" }, { "field": "documentData.topics.exclusion", "source": "documentData", "status": "PASS", "value": "rows:0", "message": "Array shape is valid" }, { "field": "documentData.pdfme.labels.tel", "source": "documentData", "status": "PASS", "value": "Tel", "message": "String is populated" }, { "field": "documentData.pdfme.labels.email", "source": "documentData", "status": "PASS", "value": "Email", "message": "String is populated" }, { "field": "documentData.pdfme.labels.att", "source": "documentData", "status": "PASS", "value": "Att", "message": "String is populated" }, { "field": "documentData.pdfme.labels.project", "source": "documentData", "status": "PASS", "value": "Project", "message": "String is populated" }, { "field": "documentData.pdfme.labels.location", "source": "documentData", "status": "PASS", "value": "Location", "message": "String is populated" }, { "field": "documentData.pdfme.quotation_date", "source": "documentData", "status": "PASS", "value": "Jun 30, 2026", "message": "String is populated" }, { "field": "documentData.pdfme.quotation_price", "source": "documentData", "status": "PASS", "value": "THB 0.00", "message": "String is populated" }, { "field": "documentData.pdfme.quotation_price_data", "source": "documentData", "status": "PASS", "value": "rows:1", "message": "Array shape is valid" }, { "field": "documentData.pdfme.exclusion_data", "source": "documentData", "status": "PASS", "value": "rows:1", "message": "Array shape is valid" }, { "field": "documentData.signatures.preparedBy.name", "source": "documentData", "status": "PASS", "value": "Sales Crane UAT", "message": "String is populated" }, { "field": "documentData.signatures.preparedBy.position", "source": "documentData", "status": "PASS", "value": "Sales Engineer", "message": "String is populated" }, { "field": "documentData.signatures.preparedBy.actedAt", "source": "documentData", "status": "PASS", "value": "2026-06-30T11:21:06.000Z", "message": "String is populated" }, { "field": "documentData.signatures.approvedBy.name", "source": "documentData", "status": "PASS", "value": "-", "message": "String is populated" }, { "field": "documentData.signatures.approvedBy.position", "source": "documentData", "status": "PASS", "value": "-", "message": "String is populated" }, { "field": "documentData.signatures.approvedBy.actedAt", "source": "documentData", "status": "WARNING", "value": null, "message": "Value is null" }, { "field": "documentData.signatures.authorizedBy.name", "source": "documentData", "status": "PASS", "value": "-", "message": "String is populated" }, { "field": "documentData.signatures.authorizedBy.position", "source": "documentData", "status": "PASS", "value": "-", "message": "String is populated" }, { "field": "documentData.signatures.authorizedBy.actedAt", "source": "documentData", "status": "WARNING", "value": null, "message": "Value is null" }, { "field": "templateInput.customer_name", "source": "templateInput", "status": "PASS", "value": "บริษัท แอดวานซ์ โปรเจค คอนซัลแทนท์ จำกัด", "message": "String is populated" }, { "field": "templateInput.customer_addr", "source": "templateInput", "status": "PASS", "value": "Bang Pakong, Chachoengsao", "message": "String is populated" }, { "field": "templateInput.customer_tel", "source": "templateInput", "status": "PASS", "value": "02-600832", "message": "String is populated" }, { "field": "templateInput.customer_email", "source": "templateInput", "status": "PASS", "value": "@example.co.th", "message": "String is populated" }, { "field": "templateInput.customer_att", "source": "templateInput", "status": "PASS", "value": "Attention", "message": "String is populated" }, { "field": "templateInput.project_name", "source": "templateInput", "status": "PASS", "value": "บริษัท แอดวานซ์ โปรเจค คอนซัลแทนท์ จำกัด - Phase 2", "message": "String is populated" }, { "field": "templateInput.site_location", "source": "templateInput", "status": "PASS", "value": "Bang Pakong, Chachoengsao", "message": "String is populated" }, { "field": "templateInput.quotation_date_data", "source": "templateInput", "status": "PASS", "value": "Jun 30, 2026", "message": "String is populated" }, { "field": "templateInput.quotation_code_data", "source": "templateInput", "status": "PASS", "value": "CRA2606-1121", "message": "String is populated" }, { "field": "templateInput.quotation_price_data", "source": "templateInput", "status": "PASS", "value": "rows:1", "message": "Array shape is valid" }, { "field": "templateInput.quotation_price", "source": "templateInput", "status": "PASS", "value": "THB 0.00", "message": "String is populated" }, { "field": "templateInput.currency", "source": "templateInput", "status": "PASS", "value": "THB", "message": "String is populated" }, { "field": "templateInput.tel_label", "source": "templateInput", "status": "PASS", "value": "Tel", "message": "String is populated" }, { "field": "templateInput.email_label", "source": "templateInput", "status": "PASS", "value": "Email", "message": "String is populated" }, { "field": "templateInput.att_label", "source": "templateInput", "status": "PASS", "value": "Att", "message": "String is populated" }, { "field": "templateInput.project_label", "source": "templateInput", "status": "PASS", "value": "Project", "message": "String is populated" }, { "field": "templateInput.site_label", "source": "templateInput", "status": "PASS", "value": "Location", "message": "String is populated" }, { "field": "templateInput.app1", "source": "templateInput", "status": "PASS", "value": "Sales Crane UAT", "message": "String is populated" }, { "field": "templateInput.app1_position", "source": "templateInput", "status": "PASS", "value": "Sales Engineer", "message": "String is populated" }, { "field": "templateInput.app2", "source": "templateInput", "status": "PASS", "value": "-", "message": "String is populated" }, { "field": "templateInput.app2_position", "source": "templateInput", "status": "PASS", "value": "-", "message": "String is populated" }, { "field": "templateInput.app3", "source": "templateInput", "status": "PASS", "value": "-", "message": "String is populated" }, { "field": "templateInput.app3_position", "source": "templateInput", "status": "PASS", "value": "-", "message": "String is populated" }, { "field": "templateInput.quotation_date", "source": "templateInput", "status": "PASS", "value": "Jun 30, 2026", "message": "String is populated" }, { "field": "templateInput.quotation_code", "source": "templateInput", "status": "PASS", "value": "CRA2606-1121", "message": "String is populated" }, { "field": "templateInput.quotation_price_data", "source": "templateInput", "status": "PASS", "value": "rows:1", "message": "Price table input is present" }, { "field": "templateInput.quotation_price_data[0][0]", "source": "templateInput", "status": "PASS", "value": "Price (Exclude VAT)", "message": "Price table label matches canonical text" }, { "field": "templateInput.quotation_price_data[0][1]", "source": "templateInput", "status": "PASS", "value": "฿0.00", "message": "Price table amount cell is formatted" }, { "field": "templateInput.quotation_price_data[0][3]", "source": "templateInput", "status": "PASS", "value": "THB", "message": "Price table currency code cell is populated" }, { "field": "templateInput.tel_label", "source": "templateInput", "status": "PASS", "value": "Tel", "message": "Static label is populated" }, { "field": "templateInput.email_label", "source": "templateInput", "status": "PASS", "value": "Email", "message": "Static label is populated" }, { "field": "templateInput.att_label", "source": "templateInput", "status": "PASS", "value": "Att", "message": "Static label is populated" }, { "field": "templateInput.project_label", "source": "templateInput", "status": "PASS", "value": "Project", "message": "Static label is populated" }, { "field": "templateInput.site_label", "source": "templateInput", "status": "PASS", "value": "Location", "message": "Static label is populated" } ] }