---
title: Master records overview
order: 1
updated: 2026-07-12
---

# Master records overview

Master records are the reference lists the rest of the app is built on. Almost nothing in Intigra can be created out of thin air: a customer must exist before you can raise an enquiry, a product must exist before you can quote a price, a supplier must exist before you can send a request for quote, and a warehouse must exist before you can record stock. All of these lists live under one sidebar section — *Data Entry* — and they share the same look, the same search box, the same add/edit/delete flow, and the same safety net that stops you deleting something another record still depends on.

This page is the map of that whole section: what each list is for, who can see and change it, how the shared patterns work, and where the detailed walkthrough for each list lives. If you only want one list, jump straight to its page from the [What lives under Data Entry](#what-lives-under-data-entry) table.

## Open Data Entry

Open the *Data Entry* section in the sidebar (the database icon). It expands into four entries: *Products*, *Customers*, *Suppliers*, and *Utilities*.

The *Data Entry* parent has no permission of its own — it appears whenever at least one of its four entries is visible to you, and it hides entirely if none are. Each entry is gated independently, so two people in the same firm can see completely different sets of lists here:

- *Products* appears only if you hold *View Product Heads* (`database.viewProductHeadList`).
- *Customers* appears only if you hold *View Customers* (`database.viewCustomerList`).
- *Suppliers* appears only if you hold *View Suppliers* (`database.viewSupplierList`).
- *Utilities* appears if you are a firm administrator **or** hold *Edit Product Head* (`database.editProductHead`) **or** any of the four godown/room rights (*CRUD Godowns*, *Manage Stock in Godowns*, *CRUD Rooms*, *Manage Stock in Rooms*). This is the union of the gates on its three inner tabs — see [Utilities](#utilities-manufacturers-units-warehouses) below.

If none of the four are visible, the whole *Data Entry* section is absent from your sidebar. Ask your administrator to grant the *View …* permission for the list you need.

## What lives under Data Entry

| Entry | What it holds | Detail page |
|---|---|---|
| *Products* | The catalogue of items you buy and sell. Each item is a *Product Head*; sizes/grades/brands live under it as *Product Codes*. | [Products](/docs/records/products), [Product codes](/docs/records/product-codes) |
| *Customers* | The firms and individuals you sell to, with their addresses, tax details, and contact persons. | [Customers](/docs/records/customers), [Customer contacts](/docs/records/customer-contacts) |
| *Suppliers* | The firms you buy from, including the makes and product categories they deal in, and their contact persons. | [Suppliers](/docs/records/suppliers), [Supplier contacts](/docs/records/supplier-contacts) |
| *Utilities* | Three shared reference lists on one screen: *Manufacturers* (makes/brands), *Product Units* (units of measure), and *Warehouses* (godowns with rooms and racks). | [Utilities](/docs/records/utilities), [Manufacturers](/docs/records/manufacturers), [Warehouses](/docs/records/warehouses), [Warehouse rooms and racks](/docs/records/warehouse-rooms) |

The rest of this page describes each entry at a glance and, more importantly, the patterns that are the same everywhere. When you want the full field-by-field walkthrough of one list, follow its link in the table above.

## How every list works

The four screens are built from the same table component, so once you have learned one you have learned them all.

### Search

Every list has a search box pinned above the table:

- *Products* — *Search product categories…* narrows the product-head list by name.
- *Customers* — *Search customers…* narrows the list by customer name.
- *Suppliers* — *Search suppliers…* narrows the list by supplier name.

Search filters by **name** as you type. Always search before you add anything — duplicates are easy to create and awkward to untangle later (see [Common questions](#common-questions)).

### The Add button

Each list has a single primary button at the top — *Add Product Head*, *Add Customer*, *Add Supplier*, and on the *Utilities* tabs an *Add Manufacturer* / *Add Unit* / *Add Godown* control. The button only appears if you hold the matching **add** permission:

- *Add Customer* needs *Add Customer* (`database.addCustomer`).
- *Add Supplier* needs *Add Supplier* (`database.addSupplier`).
- *Add Product Head* needs *Add Product Head* (`database.addProductHead`).

Without the add permission the button is hidden — you can still browse and search the list (read-only) if you have the view permission.

### The per-row actions

Each row shows action buttons that appear or change label depending on your permissions:

- *Edit* — shown only with the list's **edit** permission (*Edit Customer*, *Edit Supplier*, *Edit Product Head*, etc.).
- *Delete* — shown only with the list's **delete** permission. Delete is guarded — see [Deleting is guarded](#deleting-is-guarded) below.
- A *contacts* / *codes* button whose **label flips with your permission**:
  - On *Customers* it reads *Update Contacts* if you can add or edit contact persons, and *View Contacts* if you can only view them.
  - On *Suppliers* it reads *Update Contacts* or *View Contacts* on the same rule.
  - On *Products* it reads *Update Product Code* if you can edit codes, and *View Product Code* if you can only view them.
- On *Products* a *Documents* button opens the attachments screen for that product head (present when you can edit).

### Deleting is guarded

Deleting a master record is never a raw delete. Before anything is removed the app checks whether the record is still referenced anywhere else in the system, and if it is, the delete is held back and a *Where Is This Used?* window opens listing every place that still depends on it. Some records are **blocked** outright (you must clear the references first), some are a **warning** you can override, and parents with children (a customer with contact persons, a product head with codes, a godown with rooms) tell you to remove the children first. The full behaviour — block vs warn vs informational, and what changed in the May 2026 rewrite — is on its own page: [Deleting records safely](/docs/records/deleting-records).

### The server re-checks everything

The buttons above are hidden when you lack a permission, but that is only a convenience. Every add, edit, and delete is **re-verified on the server** against your real permissions and against the data itself — a forged request that tries to add a customer, delete a product code with stock under it, or point a record at an ID you should not be able to touch is rejected by the backend, not just by the hidden button. You never need to worry that a missing button leaves a hole; the same rule is enforced a second time where it counts.

## Products

*Products* is the catalogue. The top level is the *Product Head* (for example *Steel Pipes*), and the specific variants — sizes, grades, brands — live underneath as *Product Codes*. A head carries a default description, HSN code, tax rate, and the *Allowed Units* and *Allowed Makes* that its codes may use.

- View is gated on *View Product Heads* (`database.viewProductHeadList`); it is the root of the whole catalogue — codes, prices, and stock all hang off product heads.
- *View Product Codes* (`database.viewProductCodeList`), *Add/Edit/Delete Product Code*, and *Add/Edit/Delete Product Head* are separate permissions, each depending on the one above it.
- Removing a *Make* from a head's allowed list while it is still in use surfaces a warning listing every enquiry, sales order, purchase order, RFQ, stock arrival, and stock entry that still uses it.

Full walkthrough: [Products](/docs/records/products) and [Product codes](/docs/records/product-codes). Product **units** and **makes** are not edited here — they live under *Utilities* (see below).

## Customers

*Customers* holds every firm or individual you sell to. A customer must exist before you can raise an enquiry or generate a quotation against them. The record carries the customer name, address block, GST number, and any per-customer overrides (including default terms that feed onto quotations).

- View is gated on *View Customers* (`database.viewCustomerList`).
- *Add Customer*, *Edit Customer*, and *Delete Customer* each depend on the view permission.
- Contact persons are a nested list with their own gate — *View Contact Persons* (`database.viewCPList`), plus *Add/Edit/Delete Contact Person*. A customer with linked contact persons or enquiries cannot be deleted until those are cleared.

Full walkthrough: [Customers](/docs/records/customers) and [Customer contacts](/docs/records/customer-contacts). See also [Generate a quotation](/docs/enquiry-bank/generate-quotation) for what the customer record feeds into.

## Suppliers

*Suppliers* holds every firm you buy from. A supplier must exist before you can send a request for quote or raise a purchase order. Alongside the name, address, and tax details, a supplier records the *Makes / Manufacturers* and *Product Categories* it deals in — the app uses these to shortlist suppliers when you source an item — and an optional *Default PO Terms & Conditions* block that pre-fills when you send that supplier a purchase order.

- View is gated on *View Suppliers* (`database.viewSupplierList`).
- *Add Supplier*, *Edit Supplier*, and *Delete Supplier* each depend on the view permission.
- Supplier contact persons are managed on a separate screen.

Full walkthrough: [Suppliers](/docs/records/suppliers) and [Supplier contacts](/docs/records/supplier-contacts). The supplier's default PO terms interact with the firm-wide default — see [Document templates](/docs/settings/document-templates).

## Utilities: manufacturers, units, warehouses

*Utilities* is one screen with three secondary tabs, each of which used to live somewhere else (manufacturers inside *Suppliers*, units inside *Products*, warehouses as their own sidebar entry). You land on the first tab you have permission to see, and a tab appears only if you hold its gate:

- *Manufacturers* — the makes/brands behind your products. Shown if you hold *Edit Product Head* (`database.editProductHead`). Add, rename (with confirmation, because the name reflects everywhere it is used), attach documents to, or delete a make. See [Manufacturers](/docs/records/manufacturers).
- *Product Units* — the units of measure used across the catalogue, each with a display name and a shortform (for example *Kilogram (kg)*). Shown if you hold *Edit Product Head*. A unit still referenced by a product head, code, or enquiry cannot be deleted until it is removed from those first.
- *Warehouses* — the physical locations (called *Godowns*) where you store stock, each broken down into rooms and racks, with QR-code generation. Shown if you hold any of *CRUD Godowns*, *Manage Stock in Godowns*, *CRUD Rooms*, or *Manage Stock in Rooms*. See [Warehouses](/docs/records/warehouses) and [Warehouse rooms and racks](/docs/records/warehouse-rooms).

Firm administrators see all three tabs regardless. If you hold none of the underlying rights, the *Utilities* entry does not appear in the sidebar at all. Full overview: [Utilities](/docs/records/utilities).

## The order to set things up

For a brand-new firm, build the records in this order so each step has the data the next one needs:

1. Add your *Warehouses* (under *Utilities*) and the rooms and racks inside them — stock needs somewhere to live.
2. Add your *Manufacturers* and *Product Units* (also under *Utilities*) — product heads reference these.
3. Add your *Products* (heads) and the *Product Codes* underneath them.
4. Add your *Customers* and their contact persons.
5. Add your *Suppliers*, the makes/categories they deal in, and their contact persons.

You can always come back and add more later, but having the basics in place before you start raising enquiries and purchase orders saves a great deal of editing.

## Common questions

### Why can't I see one of the lists?

Each entry under *Data Entry* is gated on its own *View …* permission, and the whole section disappears if you have none of them. *Products* needs *View Product Heads*, *Customers* needs *View Customers*, *Suppliers* needs *View Suppliers*, and *Utilities* needs *Edit Product Head* or one of the godown/room rights (administrators see it either way). Ask your administrator to grant the view permission for the list you need.

### Why can I open a list but not add or edit?

Viewing, adding, editing, and deleting are separate permissions. The view permission unlocks the read-only list; add/edit/delete each layer on top and depend on the view right. When you lack one, the corresponding button is simply hidden — and even if it weren't, the server would reject the action. Your administrator can turn on the specific right.

### Can I delete a record once I've used it?

Not while anything still depends on it. The app checks first and opens a *Where Is This Used?* window listing every reference; the delete is blocked (or warns you) until the references are resolved. Parents with children ask you to remove the children first. See [Deleting records safely](/docs/records/deleting-records) for the full flow.

### What if two people add the same customer (or product, or supplier) twice?

Search before you add — every list has a name search box at the top. If a duplicate already exists, keep the one with the history against it and ask your administrator to remove the other (which is only possible if it has no references, per the delete check above).

### Where did Manufacturers, Units, and Warehouses go?

They were consolidated. Manufacturers used to be buried inside *Suppliers*, product units inside *Products*, and warehouses were a standalone sidebar entry. They now share one *Utilities* screen with three tabs. Nothing about how they work changed — only where you find them. See [Utilities](/docs/records/utilities).

### I edited a customer's or supplier's address — do old documents change?

No. Editing a record updates it going forward; documents you already generated keep the details that were current when they were created. This is deliberate so historical quotations, orders, and receipts stay faithful to what was actually sent.
