2.2 KiB
2.2 KiB
PDF Placeholder Registry
This registry freezes the placeholder naming contract for quotation PDF templates.
| Placeholder | Type | Ownership | Notes |
|---|---|---|---|
customer_name |
mapped | DB mapping | customer display name |
customer_addr |
mapped | DB mapping | multiline address |
customer_tel |
mapped | DB mapping | customer phone |
customer_email |
mapped | DB mapping | customer email |
customer_att |
mapped | DB mapping | quotation attention |
project_name |
mapped | DB mapping | project name |
site_location |
mapped | DB mapping | project location |
quotation_date |
mapped | DB mapping | formatted date |
quotation_code |
mapped | DB mapping | quotation document code |
quotation_price |
mapped | DB mapping | formatted total amount |
currency |
mapped | DB mapping | currency code/label |
exclusion_data |
mapped | DB mapping | exclusion rows as string[][] |
app1 |
mapped | DB mapping | prepared by name |
app1_position |
mapped | DB mapping | prepared by position |
app2 |
mapped | DB mapping | approved by name |
app2_position |
mapped | DB mapping | approved by position |
app3 |
mapped | DB mapping | authorized by name |
app3_position |
mapped | DB mapping | authorized by position |
topic |
reserved | dynamic topic engine | base runtime topic label template |
data_topic |
reserved | dynamic topic engine | base runtime topic rows template |
item_topic |
legacy reserved token | dynamic topic engine | allowed in schema token inventory, not in DB mapping rows |
topic_* |
generated | dynamic topic engine | runtime-only generated keys |
item_topic_* |
generated | dynamic topic engine | runtime-only generated keys |
Naming Rules
- do not store
topic_*oritem_topic_*keys incrm_document_template_mappings - keep
topicanddata_topicreserved for runtime schema cloning - treat typo-like names such as
quotation_date_labeandquotation_code_lableas static labels, not placeholders - keep canonical business placeholders as
quotation_dateandquotation_code; container aliases likequotation_date_dataandquotation_code_dataare tolerated only as schema field names during the current freeze window