Neriyam
Open App

Suppliers

Create and manage supplier master records, including MSME details and GSTINs.

Suppliers#

A supplier is anyone you buy from. Supplier records are created once and reused across every purchase order, goods receipt, and return. They share the same underlying party model as customers — the differences are minor and mostly Indian-compliance fields.

The same real-world company can be both a customer and a supplier. Neriyam keeps a single party record with alsoCustomer / alsoSupplier links, so you do not create duplicate data.

Overview#

Every supplier has:

  • A unique code (auto-generated or manually entered)
  • A name and optional legal name
  • A country and company type (for companies)
  • Tax registrations (GSTINs per state, for Indian companies)
  • MSME details (Indian-specific — micro/small/medium classification and Udyam registration)
  • Addresses, contacts, bank accounts, and attachments (tabs on the detail page)

Suppliers go through the approval workflowDraft → Pending → Approved — if supplier approval is turned on in Settings › System Settings. Only an Approved supplier can be used on a purchase order.

Typical workflow#

  1. Create the supplier as a draft with the core details
  2. Add at least one address and one contact
  3. For Indian companies, add GSTIN(s) and MSME details where applicable
  4. Optionally add bank accounts (for payments you make to them) and compliance attachments
  5. Submit for approval
  6. Once approved, the supplier is available in PO creation

Creating a supplier#

  1. Navigate to Purchase › Suppliers
  2. Click + New Supplier
  3. Pick Party Type (Company or Individual — immutable after creation)
  4. Fill in the core fields (same as customers — see below)
  5. Fill in MSME Details if applicable (India only)
  6. Click Save → lands in Draft

Core fields#

Same as Customer core fields. In brief:

FieldNotes
CodeAuto-numbered by the supplier series. Editable only while Draft/Rejected.
Party TypeCompany or Individual. Cannot be changed after creation.
NameCommon name.
Legal NameRegistered legal name.
CountryRequired.
Company TypeRequired for companies.
Registration No.Optional.
GST CategoryIndian companies only (Regular, Composition, Unregistered, SEZ, Overseas).
Tax ID / GSTINLabel changes by country.
Email, Phone, WebsiteOptional.

MSME details (India only)#

Capture supplier's MSME status for compliance:

FieldNotes
Is MSMEToggle. When on, the rest of the fields become relevant.
MSME CategoryMicro, Small, or Medium.
Udyam Registration No.Alphanumeric, up to 30 chars. Auto-uppercased.

MSME Category and Udyam Registration No. are linked: both must be set together, or both left blank. You cannot save with only one. Use the Is MSME toggle to clear or set both at once. MSME fields are only accepted for Indian suppliers — on a non-India supplier they are rejected.

MSME details do not drive any business logic today (pricing, tax, etc.). They are recorded for reporting and statutory compliance.

Duplicate detection#

As with customers, Neriyam detects potential duplicates on create and shows a dialog listing possible matches. Link to the existing party (useful when they are already a customer), or tick Allow duplicate to proceed.

Supplier detail page — tabs#

The detail page mirrors the customer detail page:

Details#

Read-only view with lifecycle status and approval trail. Edit re-opens the form.

When the same party is also registered as a customer, the Details tab shows an Also a customer badge with the customer's code (e.g., CUS-00045). Clicking the badge navigates to the customer detail page — permission permitting. Users without SALES.VIEW_CUSTOMERS see the badge but get a permission error on click.

GST#

GSTIN records per state — same structure as customers. Add, edit, or delete GSTIN rows. Each entry captures GSTIN, State, Trade Name, SEZ flag, EOU flag (Export Oriented Unit — required for Deemed Export category), and Default flag.

GSTIN validation#

When you add or edit a GSTIN, Neriyam checks:

  • Format — 15-character pattern (^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z][1-9A-Z]Z[0-9A-Z]$).
  • Checksum — position 15 is validated against the GSTN modulo-36 algorithm. A typo anywhere in the GSTIN is caught here.
  • PAN consistency — characters 3–12 of the GSTIN must match the supplier's PAN.
  • State-code consistency — characters 1–2 must match the GST state code of the GSTIN's selected state.
  • Per-row exclusivity — the SEZ and EOU flags cannot both be true on the same GSTIN row.
  • Within-organization uniqueness — each GSTIN value is unique per organization.

Cross-row rules by GST Category#

The party's GST Category determines what GSTIN combinations are allowed:

  • Registered (REG): GSTINs cannot have the SEZ flag. Use the SEZ category if the supplier operates from an SEZ.
  • Composition Dealer (CMP): no SEZ-flagged or EOU-flagged GSTINs.
  • SEZ Developer/Unit (SEZ): all GSTINs must have the SEZ flag set.
  • Deemed Export (DEE): at least one GSTIN must have the EOU flag set.
  • UIN Holder (UIN): GSTINs cannot have SEZ or EOU flags.
  • Unregistered (UNR) / Export-Foreign (EXP): no GSTINs allowed.

These rules are checked when you add or modify GSTINs and when you submit the supplier for approval.

Addresses#

Billing, shipping, works, office addresses. Default billing/shipping defaults feed into PO creation.

For countries with a seeded state list in Neriyam (India, US, Germany, Canada, Australia, UK), select a state from the dropdown — required. For other countries, enter the state name as free text. The two fields are mutually exclusive: based on the chosen country, you provide one or the other, not both.

Contacts#

Named people with designation, email, phone, mobile. Defaults feed into PO creation.

Bank Accounts#

Supplier bank accounts — for making payments to them. See Bank Accounts for fields.

Documents#

Uploads: MSME certificate, GST certificate, vendor registration form, etc. Subject to the max attachment size in System Settings.

Workflow actions#

ActionFrom statusPermission
Submit for ApprovalDraft, RejectedPURCHASE.MANAGE_SUPPLIERS
ApprovePendingPURCHASE.APPROVE_SUPPLIERS
RejectPendingPURCHASE.APPROVE_SUPPLIERS
Recall to DraftPendingPURCHASE.MANAGE_SUPPLIERS
DeleteDraft, RejectedPURCHASE.MANAGE_SUPPLIERS
View PDFAnyPURCHASE.VIEW_SUPPLIERS

Fields locked after approval#

Once approved, these core identity fields cannot be changed:

  • Code
  • Party Type (Individual vs Company)
  • Country
  • Company Type
  • Registration No.
  • Tax ID / GSTIN
  • GST Category

Still editable: Name, Legal Name, Email, Phone, Website, addresses, contacts, bank accounts, attachments. MSME section stays editable so you can update the Udyam details.

List page#

  • Search by code, name, or tax ID
  • Filter by status (All, Draft, Pending Approval, Approved, Rejected)
  • Columns: Code, Name, Country, Tax ID, Status
  • Row menu: View PDF, Submit, Approve, Reject, Recall, Delete

Last updated