JENGATEK Product Costing System
Dashboard
Quotes
New Quote Quotes List Sales Orders
Products
Product BOM Items Inst. Labour
Contacts
Customers Suppliers
Settings Data Manager
← Back to Portal
All amounts in KES (ex-VAT)
v13.0 — Holzmobel Kenya Ltd

Dashboard

Product Variants
—
Active in system
BOM Line Items
—
Core + Optional
Cost Markup
—
Default multiplier
VAT Rate
—
Applied on sales quote

Quick Start

📄
Generate Quote
Select variant, add client details, print cost & sales sheets
🏗️
Manage Variants
Add new product variants and edit their BOM quantities
📦
BOM Items
Edit material rates, descriptions, units and categories

Variant Price Summary

VariantCost (KES)Selling Price (KES)Margin (KES)Margin %

Quote Details

Auto-calculated from installation labour. Override if required.
Added to selling price before VAT. Defaults from variant setting.

Cost Rules Override

Leave blank to use global settings defaults.

Optional Extras

Enter quantities for any optional extras to include.

Cost Reports

Run a quote to generate cost reports.

PO Schedule

Run a quote to generate the PO schedule.

Product Variants

#Variant NameCore Cost (KES)Selling Price (KES)Items w/ QtyActions
Purple = formula (auto-computed, read-only) — white = editable

BOM Item Database

Item IDCategoryDescriptionUnitRate (KES)SectionFormulaSupplierActions
Editing 0 items — changes are not saved until you click Save — purple rows = formula item (click ƒ to edit formula)
Item ID Category Description Unit Rate (KES) Cost Type Rate Basis Section Supplier Ord Unit Ord Size Waste % Formula

Installation Labour Sub-items

These 30 sub-items calculate the total for INS-01. Rates are global. Quantity drivers use installation dimension variables (INS_01–INS_10) or BOM item quantities.

Sub-item # Description Rate (KES) Unit Quantity Driver Actions

Suppliers & Subcontractors

Suppliers and subcontractors referenced by BOM items. Used for PO Schedule and LPO generation.

Name Address Contact Person Phone Email PIN / Tax ID Payment Terms VAT Reg. Actions

Customers

Customer contact records. Select a customer on the Generate Quote page to auto-fill client details.

Name / Company Address / Location Contact Person Phone Email PIN / Tax ID Notes Actions

Saved Quotes

Quotes saved from the Generate Quote page. Load a quote to restore all inputs, or duplicate to create a variation linked to the original.

Ref Status Pricing Variant Client Date Total (incl. VAT) Actions

Sales Orders

Quotes accepted by clients. These records are locked and read-only. Use the action buttons to access the Consumption List or PO Schedule for each order.

SO Ref Variant Client Date Accepted Total (incl. VAT) Actions

Global Cost Rules

e.g. 2.0 = Selling Price is 2× Cost (50% margin). 1.5 = 50% markup (33% margin).
✓ Settings saved.

Company Details

Appears on all printed outputs: cost sheets, sales quotes, LPOs and works orders.

Category → Sales Bucket Mapping

Defines how BOM categories roll up in the Sales Quote.

BOM CategorySales Bucket

Quote Terms & Conditions

Displayed at the foot of all customer-facing sales quotations (Detailed and Summary). Use the company name and standard legal language.

Payment Terms

Selectable options shown on the quote form. The selected term is printed on all customer-facing reports.

Two-Factor Authentication (TOTP)

Add a second layer of security. Once enabled, you will need your authenticator app each time you sign in.

Scan the QR code with Google Authenticator, Authy, or any TOTP app, then enter the 6-digit code to confirm.

💾 Save to Portable File

Downloads a new copy of this HTML file with your current data baked in. Open the downloaded file in any browser — no import step needed. Use this whenever you want to transfer your work to another device or browser.

Export JSON Backup

Download all data (variants, items, installation labour, suppliers, settings) as a JSON backup file. Use this to transfer data between browser instances or as a periodic backup.

Import Data

Restore from a previously exported JSON backup. This will replace all current data.

Reset to Factory Defaults

Resets ALL data back to the original Jengatek V3 spreadsheet values. This cannot be undone.

Add New Variant

Default T&H for this variant. Can be overridden per quote.
BOM Quantities

Add BOM Item

Quantity Calculation
Available functions & variables:
q('ITEM-ID') — qty of item in variant BOM
inp('A') — dimension input A–H
Math.ceil(x) — round up
Math.floor(x) — round down
Math.round(x) — nearest integer
items — full items array
Dimension inputs (A–H):
A Deck Width (mm)   B Deck Length (mm)
C Louvre W (mm)   D Louvre H (mm)
E Pergola bays   F Pergola W (mm)
G Pergola L (mm)   H Rail length (mm)
⚠ Formula items do not store qty in variant BOMs — the qty is computed at calculation time. Reverting an item to Static clears the formula; each variant BOM will then show it as a normal editable input.
Examples:
(q('CLD-01') + q('CLD-02')) / 3 * 5 — mesh tape from gypsum areas
Math.ceil(q('CLD-08') / 9) — PU adhesive tubes from ply area
inp('A') * inp('B') / 1000000 — deck area from dimensions A × B
TEST:
📦 Supplier & Procurement
e.g. 2.98 if 1 board = 2.98 m²
e.g. 10 = add 10% for cutting waste

PO qty = ⌈ net × (1 + waste%) ÷ unit size ⌉. Leave unit size at 1 to order in costing UOM.

Edit Installation Labour Sub-item

Quantity Driver
Syntax:  dim:INS_xx manual dim  |  calc:INS_xx auto dim  |  bom:ITEM-ID BOM qty  |  bom:ID1+ID2 sum of BOMs
Functions:
q('ITEM-ID') — qty of BOM item in variant
Math.ceil(x) — round up
Math.floor(x) — round down
Math.round(x) — nearest integer
Dimension variables (INS_01–INS_10):
INS_01 Floor total (m²)   INS_02 Wall total (m²)
INS_03 Roof total (m²)   INS_04 Wall Mabati (m²)
INS_05 Flashing walls (m)   INS_06 Flashing eaves (m)
INS_07 Timber fascia (m²)   INS_08 Bathrooms (pcs)
INS_09 LGS total [auto]   INS_10 Window area [auto]
Examples:
INS_09 * 1.5 — LGS area with 50% overlap factor
q('FDN-01') * 2 — twice the foundation hole count
Math.ceil(INS_01 / 20) — floor area in 20m² blocks
TEST:

Add Supplier

Add Customer

Update Quote Status