[Skip to content](#main)

[→](/)

[![Avunu](/brand/avunu-logo.svg)![Avunu](/brand/avunu-logo-light.svg)](/)[Services](/services/)[Consulting](/services/consulting/)[ERP](/services/erp/)[Odoo](/services/erp/odoo/)[ERPNext](/services/erp/erpnext/)[Custom software](/services/custom-software/)[Devices & IoT](/services/devices-iot/)[Websites](/services/websites/)[Infrastructure](/services/infrastructure/)[Partners](/partners/)

[Work](/work/)[Open source](/open-source/)[Knowledge base](/kb/)[About](/about/)

[About Avunu](/about/)[Team](/about/team/)[Insights](/insights/)[Contact](/contact/)

[Client portal](https://erp.avunu.net/projects)[Start a project](/start/)

- [Services](/services/)[Consulting](/services/consulting/)
- [ERP](/services/erp/)
- [Odoo](/services/erp/odoo/)
- [ERPNext](/services/erp/erpnext/)
- [Custom software](/services/custom-software/)
- [Devices & IoT](/services/devices-iot/)
- [Websites](/services/websites/)
- [Infrastructure](/services/infrastructure/)
- [Partners](/partners/)

[Work](/work/)[Open source](/open-source/)[Knowledge base](/kb/)[About](/about/)

- [About Avunu](/about/)
- [Team](/about/team/)
- [Insights](/insights/)
- [Contact](/contact/)

[Client portal](https://erp.avunu.net/projects)[Start a project](/start/)

CAD drawings that become quotes, BOMs, and shop-floor work

A timber-frame manufacturer's cadwork drawings now feed ERPNext directly, driving BOMs, rule-based quotes, e-signed approvals, and shop-floor time.

[Work](/work/)

Timber-frame structures manufacturing

Timber-frame structures manufacturing&#xA;
ERPNext&#xA;

IndustryTimber-frame structures manufacturing

PlatformERPNext

Services[ERPNext implementation](/services/erp/erpnext/)
,&#x20;
[custom software](/services/custom-software/)
,&#x20;
[consulting](/services/consulting/)

StackERPNext, Frappe, HRMS, Python, Vue, PowerShell, cadwork, Print Designer, and 2 more

Status

**Shop office**

Quotes

**Bills of materials**

Items

Job cards

Timeclock

BOM-0187 · imported from the drawingPavilion frame, 16 × 20

Review items
Create quote&#xA;

Hardware checklist5 / 6

14 matched
2 new variants&#xA;

PartQtyItemMatchPost 8×8, 12 ft4POST-8X8-12Matched
Brace 4×6, 4 ft8BRACE-4X6-04Matched
Peg, 1 in48PEG-1New variant
Hardware, bracket set4HW-BRKTMatched&#xA;

The challenge

A timber-frame structure is designed in CAD long before it's built. Every beam, brace, and piece of hardware is already in the drawing. The trouble starts when that drawing has to become a quote, a bill of materials, and a set of jobs for the shop. Done by hand, that means re-typing part lists, applying naming and rounding conventions from memory, and pricing each job against rules that live in someone's head or a spreadsheet.

Before it came to us, this manufacturer had no reliable way to connect what its inventory cost to what its products were priced at. We built a standard pricing system from the ground up and implemented it in the ERP. The manufacturer also wanted its design environment to feed the business system directly, so sales, purchasing, and production would all work from the same numbers the designers drew.

What we built

CAD-to-ERP pipeline

Tooling harvests part and hardware data from cadwork drawings, applies the shop's naming conventions and rounding rules, and produces clean ERP data. A bulk-import screen turns that data into bills of materials, matching each part to an existing item or creating the right item variant. Different structure types get their own BOM logic, and hardware checklists per product family make sure nothing is left off the order.

BOM and pricing engine

Standard product BOMs carry pricing rules. Item attributes cascade through BOMs dynamically. Part-specific product rules, fallback pricing, conversion factors, and markup factors cover the cases the standard rules don't.

Rule-based quoting

A sales quote pulls together construction rules, operations rules, product options, custom upgrades, supplier packages, and payment terms. Delivery is priced from geocoded addresses and actual driving distance, using transport rate rules. A proposal builder bundles quotes into a customer-ready proposal.

Online acceptance and e-signature

Customers review and sign quotes from a link, on desktop or phone. Signing attaches a signed PDF with a full audit trail and updates the quote's status automatically.

Shop-floor timeclock

Employees clock into workdays and onto job cards from a touch-friendly timeclock. That time feeds payroll reports, job-card time reports, and production variance analysis.

Reliability and reporting

We diagnosed and fixed stalled work orders, rebuilt a custom stock-management tool on native Frappe patterns, and added global stock valuation with full test coverage. Job-specific performance reports, manufacturing KPIs, lead times, and wholesale-markup reports give management a live view, and performance summaries arrive by email on a schedule.

Professional documents

Print formats designed visually in Print Designer, so quotes and proposals look the part.

Results

The design environment now feeds the ERP directly. Bills of materials come from the drawing, not from re-typing. Quotes are priced by rules the team can see and adjust, delivery is priced from real distance, and customers sign online. On the floor, time lands on the job it belongs to, so job costing and variance reports reflect what actually happened.

Drawing data from cadwork imports into ERP bills of materials with standard naming and rounding rules appliedQuotes price themselves from rule tables for construction, operations, delivery, markup, and product optionsDelivery is priced from geocoded addresses and real driving distanceCustomers accept and sign quotes online, with a signed PDF and audit trail attachedShop staff clock in and out of job cards on a touch-friendly timeclock that feeds job-cost and variance reportsThe client's team and Avunu co-manage the system through regular working sessions

The engagement is co-managed: the client's team and Avunu meet regularly to review what's working and decide what comes next.

Under the hood

ERPNextFrappeHRMSPythonVuePowerShellcadworkPrint DesignerGoogle Maps PlatformNix

**ERPNext and HRMS on Frappe,**
&#x20;with all business logic in a dedicated custom app, plus&#x20;
[jailbreak](/open-source/jailbreak/)
&#x20;for low-level overrides. Core apps are not forked.

cadwork integration

PowerShell tooling on the design side; on the ERP side, an import API that resolves part codes to item templates and variants, applies attribute parsing per structure type, and validates items against checklists before a BOM is uploaded.

**[eSign](/open-source/esign/)
,**
&#x20;our open-source Frappe app, handles signatures through web forms: guest signing via expiring share links, a SHA-256-hashed signed PDF, and an audit trail that captures signer, IP address, and timestamp.

**[ERPNext CIS Plus](/open-source/erpnext_cis_plus/)**
&#x20;adds address validation, geolocation, and customer map views. Google Maps geocoding and directions feed address autocomplete and delivery distance.

Tests

Stock valuation, performance-summary emails, and HTML print formats ship with unit tests.

**[frappe-nix](/open-source/frappe-nix/)**
&#x20;declares the bench and its development services, and builds production OCI images. Production runs on Avunu's NixOS hosting platform.

**[carbon_frappe](/open-source/carbon_frappe/)**
&#x20;gives the desk a consistent Carbon Design System look.

More detail

Open source it's built on

[All open-source projects](/open-source/)

![]()Frappe[eSign](/open-source/esign/)eSign

Collect electronic signatures on any Frappe or ERPNext document through web forms, with signed PDFs and a full audit trail.

![]()Frappe[ERPNext CIS Plus](/open-source/erpnext_cis_plus/)ERPNext CIS Plus

Simpler customer, contact, and address management for ERPNext, with address validation, geolocation, and a map of your customers.

![]()Frappe[Jailbreak](/open-source/jailbreak/)Jailbreak

Power-user tools for Frappe and ERPNext admins, including bulk merge, item-to-variant conversion, and version restore, each gated behind a setting.

![]()Frappe[Carbon Frappe](/open-source/carbon_frappe/)Carbon Frappe

A complete IBM Carbon Design System theme for Frappe and ERPNext, covering the desk, website, login, email, charts, and tables.

![]()NixOS[frappe-nix](/open-source/frappe-nix/)frappe-nix

Reproducible Nix infrastructure for Frappe and ERPNext, from the development shell to OCI containers and a multi-site NixOS module.

“”

Related work

[All case studies](/work/)

![](/brand/avunu-icon.svg)Textile & home-decor printing

[Print-shop production on a tested, self-hosted ERP](/work/textile-print-shop/)

![](/brand/avunu-icon.svg)Professional services

[We run Avunu on what we build, from proposal to paycheck](/work/avunu-erp/)

![](/brand/avunu-icon.svg)Auto & heavy-truck repair

[A truck repair shop's whole job, from inspection to invoice, in one system](/work/heavy-truck-repair-shop/)

Have a challenge like this one?

Tell us how your work flows today and where it hurts. We'll tell you honestly whether ERPNext, Odoo, or something custom fits, and what a first phase could look like.

[Start a project](/start/)[Explore ERPNext implementation](/services/erp/erpnext/)

Services

- [ERP implementation](/services/erp/)
- [Odoo](/services/erp/odoo/)
- [ERPNext](/services/erp/erpnext/)
- [Custom software](/services/custom-software/)
- [Devices & IoT](/services/devices-iot/)
- [Websites](/services/websites/)
- [Infrastructure](/services/infrastructure/)

Resources

- [Our work](/work/)
- [Open source](/open-source/)
- [Knowledge base](/kb/)
- [Insights](/insights/)

Company

- [About](/about/)
- [Team](/about/team/)
- [Partners](/partners/)
- [Contact](/contact/)

Clients

- [Project portal](https://erp.avunu.net/projects)
- [Invoices](https://erp.avunu.net/)
- [Support](https://erp.avunu.net/)

[![Avunu](/brand/avunu-logo-light.svg)](/)[\<av-icon data-jx-static>\<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor" stroke="none" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">\<path d="M20.400 20.500h-3.600v-5.600c0-1.300 0-3-1.800-3s-2.100 1.400-2.100 2.900v5.700H9.400V9h3.400v1.600c.5-.9 1.600-1.900 3.400-1.900 3.600 0 4.300 2.400 4.300 5.500v6.300zM5.300 7.400a2.100 2.100 0 1 1 0-4.100 2.100 2.100 0 0 1 0 4.100zm1.800 13.100H3.600V9h3.500v11.500zM22.200 0H1.800C.8 0 0 .8 0 1.700v20.600c0 .9.800 1.700 1.800 1.700h20.400c1 0 1.800-.8 1.800-1.700V1.700C24 .8 23.200 0 22.200 0z">\</path>\</svg>\</av-icon>](https://www.linkedin.com/company/avunu)[\<av-icon data-jx-static>\<svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor" stroke="none" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">\<path d="M12 .3a12 12 0 0 0-3.8 23.4c.6.1.8-.3.8-.6v-2c-3.3.7-4-1.6-4-1.6-.6-1.4-1.4-1.8-1.4-1.8-1-.7.1-.7.1-.7 1.2.1 1.8 1.2 1.8 1.2 1 1.8 2.8 1.3 3.5 1 .1-.8.4-1.3.7-1.6-2.7-.3-5.5-1.3-5.5-5.9 0-1.3.5-2.4 1.2-3.2-.1-.3-.5-1.5.1-3.2 0 0 1-.3 3.3 1.2a11.500 11.500 0 0 1 6 0c2.300-1.500 3.300-1.200 3.300-1.200.6 1.700.2 2.900.1 3.200.8.8 1.200 1.900 1.200 3.200 0 4.600-2.800 5.600-5.500 5.900.4.400.8 1.100.8 2.200v3.300c0 .3.2.7.8.6A12 12 0 0 0 12 .3">\</path>\</svg>\</av-icon>](https://github.com/Avunu)[Client portal](https://erp.avunu.net/projects)[Start a project](/start/)

Avunu LLC · 948 East Philadelphia Street, York, PA 17403 · (717) 814-8540Knowledge base articles are in the public domain[Privacy](/privacy/)[Terms](/terms/)
