FireAI ERP

Create a price list

Minute-by-minute guide to create a sales or purchase price list, add product rates (packet MRP), set automatic state or customer matching, assign lists, and verify rates on a draft invoice.

Updated September 11, 2026

A price list is a named set of selling (or buying) rates for products. FireAI ERP can pick the right list automatically from the customer’s state or an allowlist of customer names / IDs, or you can assign a list on the customer record.

This guide walks through every click for a sales price list (the common case). Purchase lists work the same way under Purchases → Prices.

Before you start

1. Products must already exist (see Masters setup).
2. Your role needs View and Edit on Price lists (ask admin under Settings → Roles).
3. Decide the rate unit your company uses. Many ice-cream / packet businesses store packet MRP = unit MRP × units per pack (not the per-piece MRP alone).

What you will build

Example list Who it applies to How auto-match works
West Bengal Customers with state West Bengal (19) Match state equals 19
ROI (Rest of India) Customers in any other Indian state Match state is not 19
Special dealers (optional) Named customers only match_customer_names / match_customer_ids

1. Open the Prices screen

Steps

  1. Sign in to FireAI ERP.
  2. In the left rail, click Sales.
  3. In the top tabs, click Prices.
  4. You should see the Price Lists table (empty or with existing lists).
  5. Confirm you can see + New Record (or Create / New) at the top right. If not, you lack Edit permission.

Purchase price lists

For vendor buying rates: left rail Purchases → top tab Prices. Use List type = Purchase when you create the list.

Done when

  • You are on Sales → Prices and see the Price Lists list

2. Create the price list header

The header is the list itself (name, type, matching rules). Product rates are added as lines on the same form.

Steps

  1. Click + New Record.
  2. A form opens for a new price list (header fields on top; line items below or in a lines section).
  3. Fill the fields using the field reference below. Suggested starter values for a West Bengal sales list:
Field Suggested value
Name West Bengal - WEF 2026-02-23
Code WB-2026-02
List type Sales
Pricing scheme Unit (flat rate)
Pricing method Custom rate
Base price field MRP
Match state op State equals
Match state code 19 (West Bengal)
Match priority 50 (lower = preferred if two lists match)
Valid from Effective date of the list
Is active On / true
  1. Do not save yet if you still need to add lines on the same screen — or Save header first if your UI requires a saved parent before lines (both patterns exist; if Save is required, save, reopen the row, then add lines).
  2. Prefer saving once with header and at least one line so the list is usable immediately.

3. Field reference (every header field)

Use this table while filling the form. Leave a field blank only when the Notes column says it is optional.

Field Required? What it means What to enter
Name Yes Label staff see in dropdowns Clear name, e.g. West Bengal - WEF 2026-02-23
Code Recommended Short stable key e.g. WB-2026-02, ROI-2026-02
List type Yes Sales vs purchase rates Sales for customers; Purchase for vendors
Pricing scheme Yes Flat vs quantity slabs Unit = one rate per product. Volume = different rates by qty range
Pricing method Yes How the rate is computed Custom rate = use the number on each line (usual). Markup / Markdown = % off product base
Base price field For markup/markdown Which product number is the base sales_price, purchase_price, or mrp. For custom rate lists still set MRP if that is your company base
Percentage Only for markup/markdown List-level % Leave 0 for custom rate
Country code Optional Filter by party country Leave blank for India-only ops
Match state op For auto-pick How state is compared Any state / State equals / State is not
Match state code With eq/neq GST state code West Bengal = 19. Used with Match state op
Match customer ids Optional allowlist Only these customer UUIDs Comma or newline separated IDs. When set, this list applies only to those customers (beats state-only lists)
Match customer names Optional allowlist Only these customer names Comma or newline; matched case-insensitively to customer Name
Match priority Optional Tie-break Integer; lower wins when two lists match equally
Valid from / Valid to Optional Active date window Outside the window the list is ignored
Is active Yes Soft on/off Must be active for auto-match and rates
Description Optional Internal note Free text

How auto-pick chooses a list

Order of precedence when pricing a line:

1. Price list chosen on the invoice/order (manual override)
2. Price list assigned on the customer (customer form field)
3. Auto-match: customer allowlist → then state equals/not-equals → then “any state” catch-all
4. Otherwise product master price

So: leave Customer → Price list empty if you want pure state-based auto selection.

4. Add product rates (lines)

Each line ties one product to a rate on this list.

Steps

  1. In the price list form, find the lines / Price list items section.
  2. Click + Add line (or equivalent).
  3. For each product:
Line field Required? Notes
Product Yes Pick from Products. Name must match the SKU you sell
Rate Yes (custom rate) Enter packet MRP if that is your company rule (mrp_per_unit × units_per_pkt). Example: unit 5 × pack 30 → rate 150
Qty from Volume only Start of slab (use 0 for unit lists)
Qty to Volume only End of slab; blank = open-ended
Percentage Markup/markdown override Usually blank for custom rate
Notes Optional e.g. product label or pack hint
  1. Add all products that belong on this list (you can save and edit later).
  2. Click Save on the price list.

Bulk tip

For 50+ products, create the header first, then use Bulk import on Price list items (template with product dropdowns). Always test 10–20 rows first.

Packet MRP reminder

Product Unit MRP Pack qty Rate to enter
MANGO SMALL - 30 5 (WB) 30 150
MANGO SMALL - 30 7 (ROI) 30 210

Do not enter 5 or 7 if your ERP rates are packet-based.

Done when

  • Every required product has a line with the correct rate
  • List is saved and appears in Sales → Prices

5. Set automatic matching (state / customers)

Do this on the header so orders pick the list without assigning every customer.

West Bengal list

  1. Open the West Bengal price list → Edit.
  2. Set Match state op = State equals.
  3. Set Match state code = 19.
  4. Leave Match customer ids / names blank (unless this list is also a special allowlist).
  5. Set Match priority to something like 50.
  6. Save.

ROI list

  1. Create or open the ROI list.
  2. Set Match state op = State is not.
  3. Set Match state code = 19.
  4. Match priority e.g. 100.
  5. Save.

Named customers only (optional third list)

  1. Create a list such as VIP Dealers.
  2. Put exact customer names in Match customer names (one per line), or paste customer UUIDs in Match customer ids.
  3. Leave state op as Any state (or still set state if you want both).
  4. Allowlisted customers beat state-only lists.

Customer must have a state

Auto state match reads the customer’s State / state code on the customer master. If state is blank, neither “equals 19” nor “is not 19” will match — fix the customer address first.

6. Optional: assign a list on a customer

Use this when one customer must always use a list, regardless of state.

Steps

  1. Open Sales → Customers.
  2. Open the customer → Edit.
  3. Find Price list and select the list.
  4. Save.

This assignment wins over auto state matching (but a manual list on the invoice still wins over both).


7. Test on a draft sales invoice

Never go live without a draft check.

Steps

  1. Open Sales → Customers and pick a West Bengal customer (state code 19). Confirm Price list is empty if you want to test auto-match.
  2. Open Sales → Invoices+ New Record.
  3. Select that customer.
  4. Confirm the invoice Price list shows your West Bengal list (auto or assigned).
  5. Add a line for a product on the list (e.g. MANGO SMALL).
  6. Confirm Rate matches the list (e.g. 150 for WB packet MRP).
  7. Repeat with an out-of-state customer and confirm ROI rates (e.g. 210).
  8. Discard or cancel the drafts if they were only tests.

Done when

  • WB customer draft shows WB rates
  • Non-WB customer draft shows ROI rates

8. Second list for ROI (copy pattern)

  1. Sales → Prices+ New Record.
  2. Name ROI (Rest of India) - WEF 2026-02-23, code ROI-2026-02.
  3. Same scheme/method as WB (Unit + Custom rate).
  4. Match state op = State is not, Match state code = 19.
  5. Add the same products with ROI packet rates.
  6. Save and test with a non-WB customer.

9. Troubleshooting

Symptom Likely cause Fix
Rate stays at product master No list matched Check list Is active, validity dates, customer state code, and match fields
Wrong list picked Customer has an assigned price list Clear customer Price list to use auto-match, or set the intended list
Product missing on invoice catalog Some portals only show products on the matched list Add a line for that product on the list
Rate looks 30× too small/large Unit vs packet MRP mix-up Re-enter packet rates (unit × pack)
“State is not 19” never applies Customer state blank Set customer state code
Cannot open Prices Role permission Admin → Settings → Roles → grant View/Edit on price lists
Lines section missing Editing detail collection alone Always edit via Price Lists parent form (items are not a standalone entry screen)

10. Done when

  • At least one Sales price list exists with product lines
  • Auto-match (or customer assignment) verified on a draft invoice
  • Team knows whether rates are packet or unit MRP
  • ROI / home-state (or other) lists documented for staff

What to do next

Related guides