An assembly is a finished item made from component products. Its cost comes from the quantities and prices of those components.
For assembly setup, see How to specify a finished item and its component products.
This guide uses one example throughout: a custom console made from two components.
Sandy Oak Veneer: 3 m² per console, $60 per m².
Fabrication: 1 per console, $320.
You need 2 consoles. The same veneer is also used on its own on a kitchen island, at 4 m².
1. Set the quantity needed for one assembly
Open the console’s details and find Components. In each component’s Unit Qty, enter the amount needed for one console.
Set the number of consoles in the console’s Locations & quantities. Programa calculates each component’s total from the number of consoles.
2 consoles × 3 m² per console = 6 m² of veneer.
The console and its components can use different units.
Quantities are always edited in one of two places:
To change | Go to |
How many consoles you need | The console’s Locations & quantities |
How much of a component goes into one console | The console’s Components section, in Unit Qty |
2. Check each component’s pricing
Open a component from within its assembly. Its Financial tab shows the same Product pricing and shipping section as any other product. Enter the component’s unit prices and estimated shipping here.
A note confirms that pricing is managed on the assembly. The component’s own client pricing does not apply to this use.
Below the pricing inputs, Programa shows how much of the component this assembly needs:
Veneer | Value |
Unit Qty per console | 3 m² |
Number of consoles | 2 |
Quantity for this assembly | 6 m² |
Cost for this assembly | 6 × $60 = $360 |
To change the quantity, select Edit. Programa opens the console’s Components section, where you can change Unit Qty.
Programa uses each component’s Unit trade price. If a component has no trade price, Programa uses its Unit retail price.
3. Set the assembly’s client price
Open the console’s Financial tab. The assembly costs list each component and what it adds to the console:
Component | Per console | For 2 consoles |
Sandy Oak Veneer | 3 m² × $60 = $180 | $360 |
Fabrication | 1 × $320 = $320 | $640 |
Assembly cost | $500 | $1,000 |
In Client pricing, with Add markup enabled for the project, enter the console’s markup. A 20% markup on $1,000 makes the client price $1,200 before tax and shipping. With 10% tax, tax is $120.
The component costs are already included in the console cost. Do not add those costs again to the same assembly total.
For tax and general pricing instructions, see How to set product costs and client prices.
4. Check shipping for the assembly
Shipping on an assembly comes from two places:
Type | What it covers |
Component shipping | Getting each component to your maker, such as veneer to the joiner. |
Finished assembly shipping | Getting the finished item to site. |
Programa adds shipping after client pricing and tax. Shipping is not marked up or taxed.
Component shipping
Enter a component’s shipping once, on the component, for every unit of it in the project. Programa splits that amount across each use, based on quantity.
Example: You enter $250 shipping for the veneer. The project uses 10 m² in total:
Use | Quantity | Share | Shipping |
Consoles (assembly) | 6 m² | 60% | $150 |
Kitchen island (standalone) | 4 m² | 40% | $100 |
Total | 10 m² |
| $250 |
The console’s Component shipping table lists the shipping each component passes on to it. Here the veneer passes on $150. Fabrication has no shipping, so component shipping for the consoles is $150.
Finished assembly shipping
To cover delivering the finished consoles to site, enter the cost in Finished assembly shipping. For this example, enter $500.
If you do not see shipping fields, shipping is turned off for the project. See How to set product costs and client prices to turn it on.
5. Check the assembly totals
Line | Amount |
Client price before tax | $1,200 |
Tax | $96 |
Component shipping | $150 |
Finished assembly shipping | $500 |
Client total | $1,946 |
Your client sees one shipping amount. In this example, that is $650. The split between component shipping and finished assembly shipping is for your records only.
Add a fee to an assembly
To charge for delivering the finished item to site, use Finished assembly shipping instead of a fee. Use fees for other costs, such as installation.
If the assembly quantity is more than 1, Programa asks How does this fee apply?
Option | Result |
Fee amount is Total for all assemblies | The amount covers every assembly. The total stays the same if the number of assemblies changes. This is the default. |
Fee amount is Per assembly | The amount applies to each assembly. The total changes with the number of assemblies. |
Choose an option, then select Add fee. If you close the prompt without choosing, Programa uses Total for all assemblies.
Example: For two consoles and a $200 installation fee, Total for all assemblies charges $200. Per assembly charges $400.
If you later edit the fee’s Unit Qty, the fee changes with the number of assemblies.
When a product has more than one use
A product can be a component in one or more assemblies and also be used on its own. The veneer is in the consoles and on the kitchen island.
See every use in one place
At the top of the product’s Financial tab, select All uses. It shows:
Which use you are viewing now, for example Standalone use.
Assembly uses: each assembly the product is part of, and the quantity it needs.
Standalone uses: each space where the product is used on its own, with the total quantity and cost, including shipping.
Totals: the combined component usage, the combined standalone usage and the total across all uses.
Select an assembly in All uses to open that assembly’s Financial tab.
What each view shows
Programa opens the right view for how you reached the product:
Opened from | Financial tab shows |
An assembly | Product pricing and shipping, the quantity for that assembly and its cost. Client pricing is managed on the assembly. |
The product list, as a standalone product | Product pricing and shipping, standalone uses by space, product cost, client pricing and totals, the same as any other product. |
For purchasing, include all required quantities across every use. For client pricing, count each finished assembly and each standalone use once.




