2.3 KiB
2.3 KiB
PDF Mapping Registry
This document is the source of truth for current quotation PDF field ownership.
| PDF Field | Source Path | Transform | Example Value |
|---|---|---|---|
customer_name |
customer.name |
direct | ALLA Demo Customer |
customer_addr |
customer.address |
direct multiline | 99/9 Rama IX Road, Bangkok 10310 |
customer_tel |
customer.phone |
direct | 02-000-1000 |
customer_email |
customer.email |
direct | demo-customer@local.test |
customer_att |
quotation.attention |
direct | Task H.1 Contact |
project_name |
quotation.projectName |
direct | Task H.5 Audit Fixture |
site_location |
quotation.projectLocation |
direct multiline | Bangkok HQ |
quotation_date |
pdfme.quotation_date |
formatPdfDate() |
16 Jun 2026 |
quotation_code |
quotation.code |
direct | QT-H5-AUDIT |
quotation_price |
pdfme.quotation_price |
formatPdfCurrency() |
THB 128,400.00 |
currency |
quotation.currency |
direct | THB |
exclusion_data |
pdfme.exclusion_data |
formatTopicItems() |
[["Civil work by customer"]] |
items_table |
items |
normalizePdfmeTable() with table columns |
item rows |
app1 |
signatures.preparedBy.name |
direct | Task H.1 Admin |
app1_position |
signatures.preparedBy.position |
position resolver | Sales Manager |
app2 |
signatures.approvedBy.name |
direct | Task H.1 Admin |
app2_position |
signatures.approvedBy.position |
position resolver | Sales Manager |
app3 |
signatures.authorizedBy.name |
direct | Task H.1 Admin |
app3_position |
signatures.authorizedBy.position |
position resolver | Sales Manager |
topic |
dynamic topic engine | runtime schema clone | topic label table |
data_topic |
dynamic topic engine | runtime schema clone | topic item table |
topic_* |
documentData.topics.all[*].topicType |
runtime generated | Scope |
item_topic_* |
documentData.topics.all[*].items |
formatTopicItems() |
topic rows |
Alias Notes
- current PDFME schema still uses field containers named
quotation_date_dataandquotation_code_data - runtime normalization now publishes both the canonical placeholder keys (
quotation_date,quotation_code) and the container keys so preview/audit/render stay aligned during the freeze window