Assembly Order HTML template placeholders
Assembly Order HTML templates use Mustache syntax. Wrap any placeholder name in double curly braces — {{assemblyOrderNumber}} — or triple braces for pre-formatted HTML blocks — {{{assemblyLocation.fullAddressBlock}}}.
To browse placeholders interactively, open the template in Manage → Templates, set Configuration Mode to Use Custom HTML, and click Insert Placeholder (above the HTML editor) to open the Browse Placeholders dialog.
Assembly Order details (top-level)
| Placeholder | What it shows |
|---|---|
{{assemblyOrderNumber}} | Assembly Order ID number |
{{status}} | Current status (e.g. In Progress, Complete) |
{{type}} | Order type |
{{alternateIds}} | Comma-separated alternate IDs |
{{orderDate.short}} / .medium / .long | Date the order was created |
{{startTime.short}} / .medium / .long | Date/time assembly began |
{{endTime.short}} / .medium / .long | Date/time assembly was completed |
{{targetCompletionDate.short}} / .medium | Target completion date |
BOM information (what is being assembled)
| Placeholder | What it shows |
|---|---|
{{bomSku}} | SKU of the product being assembled |
{{bomDescription}} | Description of the assembled product |
{{bomName}} | Bill of Materials name |
{{plannedQuantity}} / .raw | Planned assembly quantity |
{{actualQuantity}} / .raw | Actual assembled quantity |
{{assemblyCost}} / .raw | Total assembly (labor/overhead) cost |
Assembly location
All assembly location placeholders are nested inside {{assemblyLocation}}.
| Placeholder | What it shows |
|---|---|
{{assemblyLocation.warehouseName}} | Warehouse name |
{{assemblyLocation.locationName}} | Specific bin/location name within the warehouse |
{{assemblyLocation.street1}} / .street2 | Street address lines |
{{assemblyLocation.city}} / .state / .zip / .country | Address components |
{{{assemblyLocation.fullAddressBlock}}} | Pre-formatted HTML address block (use triple braces) |
Manufacturing context
| Placeholder | What it shows |
|---|---|
{{lotNumber}} | Lot number assigned to this assembly run |
{{processedBy}} | Name of the user who processed the order |
{{warehouseGroup}} | Warehouse group name |
{{notes}} | Assembly order notes |
Component lines loop
Wrap the component rows in {{#componentLines}} ... {{/componentLines}}. Inside the loop:
| Placeholder | What it shows |
|---|---|
{{componentSku}} | Component SKU |
{{componentDescription}} | Component product name |
{{componentPerUnitQuantity}} | Quantity of this component per assembled unit (from the BOM) |
{{componentPerUnitUom}} | Unit of measure from the BOM (e.g. EA) |
{{requiredQuantity}} / .raw | Required quantity for this order |
{{actualQuantity}} / .raw | Actual quantity consumed |
{{availableQuantity}} / .raw | Available quantity |
{{unitCost}} / .raw | Component unit cost |
{{totalCost}} / .raw | Total cost for this component line |
{{uom}} | Unit of measure |
{{location}} | Bin/location name |
{{warehouseName}} | Warehouse name |
{{lotNumber}} | Component lot number |
{{notes}} | Line-level notes |
SKU custom fields and variant attributes are also available inside the loop via {{skuCustomFields.yourFieldName}} and {{variantAttributes.yourAttributeName}}. Use the Insert Placeholder panel to see the field names specific to your account.
Order custom fields
To output all order-level custom fields as a list:
{{#orderCustomFieldsList}}
<div><strong>{{key}}:</strong> {{value}}</div>
{{/orderCustomFieldsList}}
To target a specific field by name: {{orderCustomFields.yourFieldName}}
Assembly totals
| Placeholder | What it shows |
|---|---|
{{totalComponents}} | Number of distinct component types |
{{totalCost}} / .raw | Sum of all component line costs |
{{grandTotal}} / .raw | Component costs plus assembly cost |
Branding footer
<footer style="text-align: right; margin-top: 25px;">
<img src="{{poweredByLuminousImg}}" alt="Powered by Luminous">
</footer>
Tips
.rawon a number or currency placeholder gives you the unformatted numeric value, useful for calculations or conditional logic.- Date objects (like
orderDate) always have.short,.medium, and.longvariants. Test for a set date with{{#startTime.short}} ... {{/startTime.short}}. - Triple braces (
{{{ }}}) output pre-rendered HTML (address blocks). Use double braces everywhere else to HTML-escape the value. - The default template that loads when you create a new HTML-mode Assembly Order template already demonstrates all major sections — use it as a starting point.
For related reading, see How do Bills of Materials (BOMs) and assembly orders work in Luminous? and How do I set a default Assembly Order export template?