
Features
All the scattered data on one schema
18 business modules from revenue entry to timesheets in one system; 9 of them can be switched on or off per dormitory. No revenue in one place, invoices in another and payroll in Excel.
Daily revenue
For the shop, café and canteen you enter the morning and evening POS amounts for each day. The daily total isn't stored, it is calculated from those two figures; the this month / last month comparison comes from the same source.
Supply and inventory
Supplier cards, purchase and return invoices live together; a return is tied to its parent invoice and can't exceed the remaining balance. In inventory, quantity and unit price are entered per product each month, giving totals with and without VAT and the difference from the previous month.
Staff and timesheets
Employees, employment periods, date-effective salaries, department assignments and attendance days in one place. Monthly timesheets and entitlements are recalculated from the source rows on every read.
Income and expenses
One amount per category × month: an amount for expenses, an amount and a deduction for income. Net = amount − deduction; the period's gross, deduction and net figures are reported separately.
Reports
Dormitory, overall and comparison lenses calculate revenue, supply, stock, staff and total profit/loss at the moment you read them. No report figure is stored; the account summary document downloads as PDF and Excel.
Permissions and audit
Every permission is a "resource:action" key; roles belong to the company and are edited at runtime. Every data change is written, with its old and new value, to a separate audit database; a trigger rejects updates and deletes there.
How it works
Five decisions explain the whole system
One place for records
Revenue, invoices, stock counts, staff and hand-entered income/expenses: all on the same schema, tied to the same dormitory ID. The question "where does this figure come from" has a single answer.
Isolation per dormitory
A dormitory's user can't see a single row of a dormitory they don't belong to. The isolation is a boundary at query level, not hiding in the interface.
Delegable permissions
You don't wait for a new role for a new duty: the company creates its own role, edits the permission keys, delegates the permission and takes it back.
Switch modules on and off
Not every dormitory does the same work. The shop, café, canteen, supply, inventory, income, expense, staff and community modules are switched on or off per dormitory.
Who changed what
Every data change is written, with its old and new value, to an audit database separate from the application database. A database trigger rejects updates and deletes on those rows.
Parts
Parts
Management panel
Runs in the browser on a computer and installs to the home screen on a phone. There is no separate mobile app; the panel is the same system on every screen.
QR feedback
Residents don't create an account; feedback is left anonymously with a QR code and summarised on the dashboard.
Who it is for
For companies that run dormitories and dormitory managers.
Let's talk about your project
Tell us what you want to build in an email and we'll work out together how to move forward.
info@g7g.dev