How to add line items to a proposal
Build out the scope of work with categories, labor, materials, and markup.
Line items are the heart of a proposal. Each one is a product, task, or service the client is paying for.
Open the proposal in edit mode
From Proposals, click the proposal you want to work on. If it's a draft, it opens in edit mode automatically.
Add a category
Proposals are organized into categories — "Demolition", "Framing", "Electrical", "Finishes", etc. Click + Add Category and give the first one a name.
Categories give the client a cleaner view and you get subtotals per section.
Add a line item under the category
Click + Add Item under the category. Fill in:
- Description — what the client sees ("Install new base cabinets")
- Quantity and unit — 10 LF, 2 EA, 40 HR
- Cost — your internal cost (hidden from the client)
- Markup — percentage or fixed dollar amount
- Price — auto-calculated from cost × (1 + markup%), but editable
If you know the client price and want to back-solve, click the price field and edit it — Kaliun updates the markup to match.
Tag it with a cost code
Optional but recommended. Click the cost code field and pick from the NAHB tree — "06-11 Framing Labor", "09-20 Drywall", etc.
Cost codes roll up into your job costing reports later, so it's worth the 2 seconds now.
Repeat for every line item
Add as many as you need. Drag and drop to reorder within a category.
Click + Add Category to start a new section.
Hidden and allowance line items
Click the ⋯ menu on any line item to change its type:
- Standard — visible to the client (default)
- Overhead — hidden from the client but still counted in the total (good for general conditions, permit runners)
- Allowance — placeholder dollar amount with "to be determined" note ("Countertop allowance: $5,000 — material TBD")
The price calculator popover
Click the price column on any line item to open a popover where you can type per-unit cost, markup, or price and Kaliun recalculates the other two. Fastest way to back-solve from a client budget.
Common mistake: entering a markup of 0% gets treated as "no
markup" correctly — but if you meant "no markup of any kind, just pass
through the cost", double-check that the price column actually equals
the cost × quantity.