---
title: Suppliers
order: 8
updated: 2026-07-12
---

# Suppliers

The suppliers list holds every firm you buy from. A supplier record has to exist before you can add its contact persons, invite it to a request-for-quote, or raise a purchase order against it. Each supplier stores an address, a GST number, an optional block of default purchase-order terms, and two association lists — the *Makes / Manufacturers* it carries and the *Product Categories* it deals in — which the app uses to shortlist vendors when you source items.

Everything on this page is re-checked on the server. Permission is verified on every call, ids are validated as real database ids before any lookup runs, and the supplier name is required and trimmed server-side even if the browser lets a blank through — so a hand-made request can't slip past the form.

## Open the suppliers list

1. Open *Data Entry* in the sidebar and click *Suppliers*.
2. The list loads the first `20` suppliers, sorted `A → Z` by name, and pulls in more as you scroll (infinite scroll).

The count badge beside the *Suppliers* heading shows how many rows are currently loaded; a trailing `+` means there are more below that haven't loaded yet.

The whole page — and every add/edit/contacts action on it — is gated by the *View Suppliers* permission (`database.viewSupplierList`). It is the root permission for the supplier section: *Add Supplier*, *Edit Supplier*, and *Delete Supplier* all depend on it. Without it the page does not open. See [Users and permissions](/docs/settings/users-and-permissions).

## Find a supplier

Type in the *Search suppliers…* box at the top of the list. Search fires after a short pause (about a third of a second) once you stop typing, and matches on supplier **name** only. It is fuzzy: exact matches rank first, then prefix, then names that contain your words, then loose character-subsequence matches — so a partial or slightly misspelt name still surfaces the right vendor. Search returns up to `30` matches. Clearing the box returns you to the full scrolling list.

## Add a supplier

Available only if you hold *Add Supplier* (`database.addSupplier`) — the *Add Supplier* button is hidden otherwise, and the server rejects the create with a `403` if the request is forged.

1. Click *Add Supplier*.
2. Fill in the form. It is split across three tabs — *Basic Info*, *Business & Tax*, and *Makes & Categories*. A small red dot appears on the *Basic Info* tab if you try to save without the required *Supplier Name*.
3. Click *Add Supplier* at the bottom.

On success the supplier appears in the list. Add its contact persons next — see [Supplier contacts](/docs/records/supplier-contacts).

### Basic Info tab

This tab holds the name and the address block.

- *Supplier Name* — **required.** Trimmed and must be at least one character; the server re-validates this and refuses a blank or whitespace-only name. There is no uniqueness check, so two suppliers *can* share a name — but that makes shortlisting confusing, so search first before adding. Example: `Acme Industrial Pvt Ltd`.
- *Address* (a sub-card with six fields, all optional and blank by default unless noted):
  - *Plot / Unit No.* — free text, e.g. `Plot 45, Unit 12`.
  - *Street / Area* — free text, e.g. `MG Road, Civil Lines`.
  - *City* — free text, e.g. `Delhi`.
  - *State / UT* — a searchable dropdown of Indian states and union territories. Type to filter; pick one.
  - *Country* — free text. **Defaults to `India`.**
  - *Postal Code* — free text, e.g. `110001`.

### Business & Tax tab

- *GST Number* — the supplier's GSTIN, e.g. `22AAAAA0000A1Z5`. **Required when adding a supplier** — the field is marked required and the server's validation refuses a blank on create. The value is stored as typed and trimmed; the app does **not** verify the 15-character GSTIN checksum or format, so double-check what you type. (Note the asymmetry: GST is required on *add* but **not** on *edit* — see the [gotcha below](#why-can-i-save-an-edited-supplier-with-a-blank-gst-but-not-a-new-one).)
- *Default PO Terms & Conditions* — an optional rich-text editor (bold, lists, and so on) under the *Customisation* sub-card. Whatever you enter here pre-fills the *Terms & Conditions* on a purchase order sent to this supplier. When you open a fresh *Add Supplier* form this editor is **seeded from the firm-wide PO template** (the firm's *Purchase Order Template* default terms) so you edit from a sensible starting point instead of a blank box; if the firm has no default terms configured, it opens empty. Leaving it empty is fine — the PO then falls back to the firm-wide default at send time (see [What are Default PO Terms?](#what-are-default-po-terms) below).

### Makes & Categories tab

Two multi-select boxes. Each shows the items you've picked in a small table (with an `×` to remove a row) and an autocomplete to add more. Both search the firm's shared lists as you type.

- *Makes / Manufacturers* — the brands this supplier carries (for example `Siemens`, `ABB`, `Schneider`). These come from the firm's manufacturer list — see [Manufacturers](/docs/records/manufacturers). Tagging a supplier with the makes it stocks lets procurement shortlist it faster when sourcing branded items.
- *Product Categories* — the product-head categories this supplier deals in. These come from the firm's product heads — see [Products](/docs/records/products). They feed the same sourcing shortlist by category.

Both lists are optional and start empty. You can attach as many as you like.

## Edit a supplier

Available only if you hold *Edit Supplier* (`database.editSupplier`) — the per-row *Edit* button is hidden otherwise, and the server rejects the update with a `403` if forged.

Click *Edit* on a supplier row. The same three-tab form opens, pre-filled with the saved values, and the button reads *Update Supplier*. The fields behave exactly as on the add form, with one difference: *GST Number* is **not enforced as required on edit** (see the gotcha section). Save with *Update Supplier*.

### Removing a make or category that's in use (cascade warning)

If, while editing, you **remove** a *Make* or a *Product Category* that is still referenced by an existing purchase order or stock arrival from this same supplier, the save doesn't silently go through. The server returns a warning (a `SUPPLIER_MEMBER_IN_USE` response) and a *Where used* panel opens showing exactly where that make/category is still referenced — which purchase orders and arrivals, and how many.

This is a **warning, not a hard block.** The panel offers a *Proceed* action: confirm it and the supplier is saved with the association removed anyway. Removing the tag only changes future shortlisting — **existing purchase orders and arrivals keep the make/category they already recorded**; nothing historical is rewritten. Adding new makes/categories, renaming, or changing the address never triggers this warning; it only fires when a currently-referenced association is taken away.

## Manage contacts

A supplier is a firm; the people you actually email are its contact persons, managed on a separate screen. Each supplier row has a button on the right:

- It reads *Update Contacts* if you can add or edit suppliers.
- It reads *View Contacts* (read-only) if you only have *View Suppliers*.

Either way it opens the contact-persons screen for that supplier. Adding, editing, phone/email fields, salutations, and the delete rules all live there — see [Supplier contacts](/docs/records/supplier-contacts).

## Manage manufacturers (makes)

The *Makes / Manufacturers* you attach on the supplier form are drawn from a shared, firm-wide list. To add, rename, or remove a manufacturer, go to *Data Entry* → *Utilities* → *Manufacturers* tab — see [Manufacturers](/docs/records/manufacturers). (Manufacturers used to be managed from a button on this page; they now have their own tab under [Utilities](/docs/records/utilities).)

## Common questions

### What is a "make"?

A make is a brand or manufacturer — for example `Siemens` or `Schneider`. Suppliers are tagged with the brands they carry so the app can shortlist the right vendors when you source an item. Makes are maintained under *Data Entry* → *Utilities* → *Manufacturers* — see [Manufacturers](/docs/records/manufacturers).

### What's the difference between a make and a product category?

A *make* is the brand (`ABB`, `Schneider`). A *product category* is a product head — the kind of product, drawn from your product list — see [Products](/docs/records/products). A supplier can be tagged with both: the brands it carries *and* the product families it deals in. Both feed the sourcing shortlist.

### What are Default PO Terms?

When you send a purchase order to a supplier, the *Terms & Conditions* on the PO are pre-filled. If you set *Default PO Terms & Conditions* on the supplier, those are used. If you leave the supplier's terms empty, the firm-wide default from the *Purchase Order Template* applies instead. This lets you keep supplier-specific terms for vendors with special agreements while everyone else falls back to the house terms. See [Document templates → Purchase order personalisation](/docs/settings/document-templates#purchase-order-personalisation).

### Why is the Add form's terms box already filled in?

When you open *Add Supplier*, the *Default PO Terms & Conditions* editor is seeded from the firm-wide PO template so you can tweak from a real starting point rather than an empty box. Edit or clear it freely — what you leave in the box is what gets saved on the supplier. If the firm hasn't configured any default terms, the box opens empty.

### Why can I save an edited supplier with a blank GST, but not a new one?

GST is enforced as required only when you **create** a supplier — the add form and the server both refuse a blank. On **edit**, the field is optional, so an existing supplier can be saved with an empty GST. Fill it in whenever you can; the app doesn't validate the GSTIN format either way, so the accuracy of the number is on you.

### Can I delete a supplier?

There is no delete button on the suppliers list — suppliers are meant to persist because historical purchase orders and stock arrivals reference them. To retire a vendor you no longer use, simply stop selecting it; leave the record in place so its history stays intact. (For records that *can* be removed and the rules around blocked deletes, see [Deleting records](/docs/records/deleting-records).)

### Someone without supplier permission can still see a supplier's GST on hover — is that a leak?

No. The hover tooltip that reveals a supplier's name and GST is deliberately opened to a wider group than the full supplier list — procurement users and stock-arrival users who already see supplier names in their own screens can hover to confirm the GST. It is display-only (name + GST), tenant-scoped, and exposes nothing the person can't already act on in procurement or inventory.

### A supplier I need isn't showing when sourcing items — why?

Sourcing shortlists lean on the *Makes / Manufacturers* and *Product Categories* attached to each supplier. If a vendor isn't surfacing for a product, open it in *Edit* and add the relevant make and/or product category on the *Makes & Categories* tab. See [RFQ cart](/docs/procurement/rfq-cart) and [Create a purchase order](/docs/procurement/create-purchase-order).

### Two suppliers have the same name — is that allowed?

Yes, the app doesn't stop it. But duplicates make search and shortlisting confusing, so use the *Search suppliers…* box before adding a new one, and keep names in a consistent official spelling.
