Studio Nir
hello@studionoir.agency Book a Systems AuditAudit
Studio Nir Panthen

← All work · the Studio

Work 04 / 04 · Studio Noir's own product

ContractorOS

An operating system for industrial contractors, the firms that work inside someone else’s plant. It runs the whole month as one system: work, purchase orders, customer approval, GST invoice, payroll and bank transfers.

Owner
Studio Noir
Type
Windows app or server
Industry
Industrial contracting
Market
India, GST

ContractingGSTPayrollFrappe

See it in the Studio →

Names and figures shown in the film and screens are demo data. No client is implied.

I

The problem

Industrial contractors rarely lose money on the work. They lose it in the fortnight after: a purchase order that quietly ran out, a job slip nobody billed, an invoice retyped by hand the night before it is due, salary rebuilt from memory.

Each of those is a different number on a different spreadsheet, with no single place that says what can safely be billed. ContractorOS is that place. It suits contractors and manpower suppliers who bill a plant against purchase orders, pay a site workforce and produce GST documents in the customer’s own format, from a full office to a single owner-operator.

ContractorOS overview, with demo data

II

The commercial spine

Every rupee is traceable end to end: customer, plant, contract, purchase order, job slip, monthly ledger, customer certification, invoice, receivable and payment.

Six money states are kept strictly separate: executed, claimed, unclaimed, certified, billed and paid. Nine numbers, not one, appear for each purchase order on a Commercial Position report: PO value, executed, claimed, unclaimed, certified, billed, paid, available and excess. Work with no PO behind it, work the customer has not accepted and work not yet invoiced each become visible, and each becomes its own conversation.

III

Overview

The dashboard opens on a live list of what needs attention: unallocated job slips, work with no PO behind it, overdue invoices. Money tiles show invoiced, executed, ready to invoice, owed by customers, PO balance, unclaimed work, open PO value and people on site, with charts for work by month, PO capacity, work by site, and billed against outstanding by customer. Filter by period, site or customer.

ContractorOS overview dashboard with needs-attention list and money tiles, with demo data

IV

Work, purchase orders and claims

Customer and plant records, rate contracts, customer POs with line items, and PO amendments to raise capacity when work runs over. Work is captured through job slips, work orders, complaints and daily work, plus Fast Work Entry, a keyboard-first grid where a whole month is typed at spreadsheet speed.

The claiming engine turns a month of job slips into claimed work mapped to available PO lines. Anything without PO capacity is flagged as unclaimed rather than silently billed. Certification records what the customer accepted, and only certified work can be invoiced.

ContractorOS purchase orders screen, with demo data

V

Month end

A closing checklist across payroll, work, billing, money, and materials and expenses. It flags what is still open, then one action closes the month.

ContractorOS month-end closing checklist, with demo data

VI

GST invoicing

The invoice annexure is the line-by-line schedule behind an invoice. Select or unselect entries by PO, date or search, with everything that would block a line shown beside it. A row already on an annexure can never be billed again, so nothing is billed twice.

The GST tax invoice prints in the customer’s exact format, with the CGST, SGST and IGST split per line, SAC and HSN codes, value in words, and billed-to and shipped-to details. GST registers carry an exceptions panel that catches incomplete data before it reaches the portal. It is built on the ERPNext ledger with india_compliance, and tax rates are configuration, never hardcoded.

ContractorOS GST tax invoice, with demo data

VII

Payroll and bank transfers

Attendance and overtime feed salary. A salary month is calculated for every worker with a two-part payment plan, salary advances with recovery, PF and ESI, and settlements per employee. Bank-ready letters to the branch manager list beneficiary, IFSC, account and amount, grouped per bank group per payment.

The Muster Roll (Form XVI) and Wages Register (Form XVII) print in the statutory column order.

ContractorOS payroll and salary operations, with demo data
ContractorOS bank transfer letter, with demo data

VIII

Telegram control

Telegram is a front door, not a second system. Ask questions, approve, or log a complaint from a phone, with the same permissions and validation as the web app. Link codes are single-use, short-lived and stored hashed, bank account numbers are masked, every write is audited, and the owner chooses whether Telegram is read-only or can approve too.

ContractorOS Telegram control, with demo data

IX

Also included

Materials and procurement with stock, site issue and reconciliation. Projects with BOQ and cumulative RA bills, planned shutdowns, equipment and maintenance plans, HSE with work permits, risk assessments, toolbox talks and incidents, and profitability as revenue less labour, material and expenses.

Fourteen documents print in one house style, six one-button print packs bundle a whole envelope into a single PDF, and Excel export works everywhere, including per-customer templates for customers who insist on their own columns. An audit log, feature flags, a health and backup toolkit, and an in-product manual with more than 40 topics and 22 SOPs come with it, along with a switch for owner-operators that removes role walls without bypassing any permission check.

X

How it is delivered

It installs on the customer’s own Windows PC from a one-click setup file, with a desktop launcher, backup and restore, and offline use after install. Data stays on the customer’s machine. A container image and compose stack cover server deployment.

XI

Built with

Frappe Framework, ERPNext, Frappe HR and india_compliance, all v16, on MariaDB 11.8 and Redis, with Python 3.14, Node 24 and Docker. Upstream apps are never modified: all proprietary logic lives in one custom app of about 62 custom DocTypes across more than 16 modules. ERPNext owns the general ledger, every commercial rule is enforced server-side, and every schema change ships as a patch or fixture.

Let us map your operation.

Book a Systems AuditAll work