Comtau designs and builds the software your operation runs on: the records you manage, the people who handle them, the decisions they make and the systems they report to. The rules are yours, not a vendor’s defaults.
Finance approval: awaiting a decisionOwner: Finance
Ordered: not startedPO sent to supplier
Received: not startedOwner: Warehouse
PR-2041 · Purchase requestAwaiting finance
requested_by
Site lead · North depot
supplier
Pallet racking supplier
amount
$7,480.00
budget_code
OPS-114 · valid
routing_rule
amount > $5,000 → Finance
Audit trail
Submitted by site lead
Budget code OPS-114 checked · ok
Routed to Finance · rule R-07
Reminder sent · waiting 2h 37m
Illustrative interface · example data
What a business system is made of
01Records
02States
03Roles
04Rules
05Integrations
06Reports
07Audit trail
§ 01·Operation
The work already runs on a system. It is spread across inboxes.
Most companies that need custom business software already have a process. It runs through forwarded emails, a shared spreadsheet with a “status” column, a chat thread and somebody who remembers what was agreed. Software makes that process explicit: every request becomes a record, every handoff becomes a state, and every approval has an owner and a timestamp.
BeforeToday: inbox and spreadsheet
AfterIn the system
emailA site lead emails a purchase request with a PDF quote attached.
recordThe request is a record with required fields; the quote is attached to it, not to a thread.
spreadsheetSomeone copies the amount into a tracking sheet and colours the row yellow.
ruleThe budget code and amount are validated on submit. The routing rule picks the approver.
chatThe manager replies “ok” in chat. Finance never sees it.
decisionThe approver decides in their queue. The decision, the person and the time are logged.
re-keyingFinance types the order into accounting at the end of the week.
integrationThe approved request posts to accounting as a bill, once, with a reference back to the record.
asking around“Has anyone ordered the racking?” is answered by whoever is in the office.
doneThe requester, finance and the warehouse see the same state: ordered, with an expected date.
§ 02·Anatomy
What a business system contains
Seven building blocks. Every system on this site is a different arrangement of them.
Custom business software development is the work of writing your operation down precisely enough for software to run it. Whether the project is called business management software development or operations software, these are the parts we define with you before any screen is designed.
records
Records
The things your business manages: orders, purchase requests, jobs, work orders, stock movements, contracts, claims. Each record has an ID, required fields, attachments and links to related records. Getting this data model right is most of the work. Everything else depends on it.
order
purchase request
service job
work order
invoice
states
States
The lifecycle of each record (draft, submitted, approved, in progress, closed) and the transitions that are allowed between them. States are what people mean when they ask “where is it?”.
draft
submitted
approved
on hold
closed
roles
Roles and permissions
Who can create, edit, approve, export or see sensitive fields such as cost prices or salaries. Roles come from your org chart and your approval policy, not from a generic admin/user split.
requester
approver
finance
auditor
admin
rules
Business rules
Validations, thresholds and routing: “orders over the credit limit go on hold”, “purchases above $5,000 need finance”, “a job cannot close without a signed checklist”. Rules are written down, tested and changed without rewriting screens.
validation
threshold
routing
SLA
escalation
integrations
Integrations
What the system exchanges with the tools you keep: accounting, CRM, payment providers, carriers, email and chat, identity and single sign-on. Each connection has a direction, a payload and a trigger.
accounting
CRM
payments
email
SSO
reporting
Reports and work queues
Operational views that answer daily questions: what is waiting for me, what is overdue, where work piles up, and what was done last month. They are built from the same records, so the numbers match the work.
queue
ageing
exceptions
export
scheduled report
audit
Audit trail
Every change, approval and integration call is recorded with who, what and when. It answers disputes, supports audits and makes it safe to automate steps people used to check by hand.
change history
approvals log
integration log
§ 03·States
Every record has a path, an owner at each step and rules that move it.
This is the lifecycle of a field service job, a typical case of operations management software development. The diagram is the specification: each state has an owner, each arrow has a rule, and the one diamond is where a person must decide.
Logged: doneOwner: Service deskcustomer + asset required
Triaged: doneOwner: Dispatcherpriority sets SLA
Scheduled: doneOwner: Dispatchertechnician + slot
On site: in progressOwner: Technicianchecklist on mobile
Invoice approval: awaiting a decisionOwner: Service managerif extra parts > quote
Invoiced: not startedbill posted to accounting
↺ Rejected · back to On site with a note; the SLA clock keeps running
Example lifecycle · field service job
What the diagram decides
Which fields are required at each state, who sees the job in their queue, which transitions send notifications and which ones post to accounting.
What it prevents
Jobs invoiced without a signed checklist, extra parts billed without approval, and jobs that sit in “scheduled” after the technician has left.
§ 04·Roles
Permissions modelled on your approval policy, not on “admin” and “user”.
Access control is a business decision before it is a technical one. We write the role matrix with the people who own the process, then enforce it in the system on every screen, export and API call.
Example role matrix · purchase requests
Role
Create
Edit
Approve
See cost prices
Export
Change rules
RequesterAny employee
✓Yes
○Own only
-No
-No
-No
-No
Site leadPer location
✓Yes
○Own only
◆Approves ≤ $5,000
✓Yes
-No
-No
Finance
-No
✓Yes
◆Approves > $5,000
✓Yes
✓Yes
-No
Operations director
-No
-No
◆Approves > $25,000
✓Yes
✓Yes
✓Yes
AuditorRead-only
-No
-No
-No
✓Yes
✓Yes
-No
✓ allowed○ own records only◆ approves (limit)- not allowed
Field-level
Sensitive fields (cost price, margin, salary) can be hidden per role, including in exports and search results.
Delegation
Approvers can delegate for a date range; the log shows both the delegate and the original approver.
Single sign-on
Users and groups can come from your identity provider, so leavers lose access when IT disables them.
§ 05·Integrations
The system sits between the tools you keep.
Custom business software rarely replaces accounting or CRM. It owns the workflow those tools do not cover and exchanges data with them. Every connection is specified like this: which system, which direction, what data and on which event. Each one is retried safely and logged.
Example integration map · operations system
Connected system
Direction
What moves
When
Accounting
Your business system → Accounting
approved bills
on approval
CRM
CRM → Your business system
won deals → orders
webhook
Email & chat
Your business system → Email & chat
notifications
on state change
Bank / payments
Bank / payments → Your business system
payment status
daily file
Carrier API
Your business system ↔ Carrier API
shipments · tracking
on dispatch
Identity provider
Identity provider → Your business system
users · groups
SSO sign-in
§ 06·Reporting
Dashboards that tell people what to do next.
An operational dashboard is a work surface, not a wall of charts. It opens on what is waiting for the viewer’s role, lists the exceptions and shows where work piles up. Because it reads the same records the work runs on, nobody reconciles the dashboard with reality.
Operations · todayrole: Operations director
14New
38In progress
6Awaiting decision
3Overdue
Needs your decision
PR-2041Pallet racking · $7,4802h 37m
JOB-5523Extra parts above quote1d 4h
PR-2038Forklift service contract2d 1h
Exceptions
ORD-88310Credit limit exceeded · on hold
SYNCAccounting post failed · retry 2 of 5
JOB-5519SLA breach in 3h · not scheduled
Average days waiting, by state
Triage
0.4d
Scheduling
1.1d
Finance approval
2.6d
Invoicing
0.8d
Illustrative interface · example data
data
Operational records
Orders, jobs and requests, written as the work happens.
rules
Business rules
Thresholds and SLAs turn records into flags: overdue, over limit, waiting.
view
Role dashboard
Each role sees its queue and its exceptions first.
decision
Decision
A person approves, reassigns or escalates.
action
Action
The decision moves the record and notifies the next owner.
↺ Every action is written back as a record change, so the next view is already up to date.
§ 07·Orders
Order management systems
For many companies the order is the record everything else hangs on. A custom order management system captures orders from every channel, checks them against credit, stock and pricing rules, routes exceptions to a person and coordinates fulfilment.
Captured: doneCRM, portal, email, EDI
Validated: doneprice list · credit limit
Credit hold: awaiting a decisionOwner: Credit controllerif over limit
Allocated: in progressstock reserved by location
Dispatched: not startedOwner: Warehouse
Invoiced: not startedposted to accounting
Example lifecycle · customer order
When we take on custom order management system development, the scope usually includes order capture and validation, credit and pricing rules, allocation against stock, partial shipments, returns and the invoice handoff to accounting. Stock records themselves (locations, movements, counts) belong to an inventory management system. If orders, stock, purchasing and finance must share one set of records, the right scope is a custom ERP.
§ 08·System map
Six kinds of business system we build
Most engagements start with one of these. They share the same building blocks (records, states, roles, rules, integrations), so a system can grow from one kind into the next without starting again.
Replacing an old system or a web of spreadsheets without stopping the business.
assessment
parallel run
cutover
§ 09·Decision
Build, buy or extend: an honest comparison
Custom software development services are not always the answer. When a standard product fits your process, buy it. Customized software development pays off where the process is specific to how you compete, or where several tools have to behave as one.
Choosing between off-the-shelf, extended and custom software
Question
Off-the-shelf product
Product + custom extension
Custom business system
Your process is standard for your industry
Best fit. Configure and adopt.
Only if one step is missing.
Hard to justify.
The process is how you win or differ
You adapt to the product’s workflow.
Works while the extension stays small.
Best fit. The process is modelled as you run it.
Work crosses several tools
Manual re-keying between products.
Point integrations per product.
One workflow that calls the tools you keep.
Cost over time
Per-seat licences grow with headcount.
Licences plus extension upkeep.
Build cost up front, then hosting and change budget; no per-seat fees.
Who controls changes
The vendor’s roadmap.
Shared: vendor platform, your extension.
You. Code and data model are yours.
Time to first use
Days to weeks.
Weeks.
One process first, then expand in phases.
§ 10·Scale
Built for the size of your operation
Enterprise requirements
Custom enterprise software development services add requirements that small systems can skip. When you compare an enterprise software development company or an enterprise application development company, these seven are the questions worth asking. A custom enterprise software development company should plan for them from the first data model, not as a late hardening phase. We do.
Single sign-on and group-based roles
Access follows your identity provider; joiners and leavers are handled where IT already manages them.
Separate environments
Development, staging and production, with release notes and a rollback path for every deployment.
Audit and retention
Change history, approval logs and integration logs kept for the period your auditors require.
Data ownership
Backups, export of all records in open formats and documented restore procedures.
Volume and concurrency
Bulk imports, long-running jobs and many users editing related records at once, designed and load-tested.
Security by design
Permissions enforced on the server for every screen, export and API call; encryption in transit and at rest; secrets kept out of code; dependencies kept patched.
Tested rules, monitored integrations
Business rules covered by automated tests built from real cases; integrations monitored, with failures raised as exceptions instead of silent gaps.
Small teams that outgrew spreadsheets
Custom software development for small business teams should be small too. We start with the one process that costs the most time, usually the one with a shared spreadsheet at its centre, and build only the records, roles and screens it needs. The data model leaves room for the next process, so growth does not mean a rewrite.
§ 11·Method
How a business system is delivered
This is what working with Comtau as a custom business software development company looks like. Each phase ends with something you can hold: a document you can review, or software you can use. Delivery is phased so that one process runs in production before the next is built.
01phase
Process mapping
Working sessions with the people who do the work and the people who approve it. We record records, states, owners, rules, exceptions and the tools involved.
Handed over
Process map: states, owners, rules and open questions
02phase
Data and access model
The records, their fields and relationships, the role matrix and the integration list, reviewed with your process owner and your IT lead.
Handed over
Data model, role matrix and integration specification
03phase
First process in production
One complete process, built end to end on your real data with the people who will use it. Feedback changes the system, not a slide deck.
Handed over
A working system for one process, plus an acceptance checklist
04phase
Integrations and migration
Connections to accounting, CRM and other tools; import of existing records from spreadsheets or the old system, with reconciliation reports.
Handed over
Integration logs and a signed migration reconciliation
05phase
Rollout by process
Further processes added one at a time, each with training for its roles and a period of side-by-side running where needed.
Handed over
Release notes and role-based user guides
06phase
Handover and support
You receive everything needed to run, change or move the system, whether or not we continue to support it.
Handed over
Source code, infrastructure definitions, runbooks and admin access
Ideal when
A process runs through email, spreadsheets and re-keying, and errors or delays are visible
Off-the-shelf tools cover parts of the work but not the rules that make it yours
Several teams need one version of a record, each with different permissions
You receive
Process maps and the data model, in plain language
Source code in your repository and infrastructure as code
Role matrix, integration specifications and runbooks
Admin access and documented restore procedures
Not in scope
Customer-facing portals and marketplaces (a separate Comtau service)
Configuring a vendor ERP or CRM product on its own platform
Hardware, networks and machine-level control systems
§ 12·Questions
Questions buyers ask first
How much does custom business software cost?
Cost is driven by four things: the number of distinct records and states, the number of roles with different permissions, the number of integrations, and how much existing data has to be migrated. A single process with two integrations is a very different project from a multi-department system. After the process-mapping phase we give a phased estimate, so you can fund the first process before committing to the rest.
How long does it take before people can use it?
We put one complete process into production before building the next, so people use the system early and the remaining phases are planned from real feedback. The length of each phase depends on the scope we map with you; we state it per phase rather than as one large number.
Is enterprise software different from SaaS?
SaaS describes how software is delivered: a vendor hosts one product for many customers. Enterprise software describes what it is for: systems that run a company’s core operations, with many roles, integrations and audit needs. A custom enterprise system can be hosted like SaaS in your cloud account, but it is built for one organisation and its rules. That distinction is worth asking about whenever a vendor offers enterprise app development services.
Who owns the code and the data?
You do. Source code lives in your repository, infrastructure is defined as code in your cloud account, and every record can be exported in open formats. The handover includes runbooks and admin access, so another team could take over the system.
Can it work with the accounting software and CRM we already use?
Usually, yes. Most business systems keep accounting and CRM and exchange data with them through their APIs or file exchange. We specify each connection (direction, data, trigger, error handling) during the data and access model phase, before building it.
What happens when our process changes?
Rules, thresholds and routing are kept separate from screens, so many changes are configuration rather than development. Larger changes, such as a new state or a new role, go through the same map-build-accept cycle as the original work, and the audit trail keeps the history of what was in force when.
Describe one process. We will map the system around it.
A useful brief names the records, the people involved, the approvals and the tools the work touches today. The brief form walks you through it in about ten minutes.