Parties & CRM
Parties are your customers, vendors, or businesses that serve both roles. Every party is automatically linked to a ledger in your chart of accounts for seamless accounting integration.
Party List
The /parties page shows all your business contacts with:
- Search — Filter by name, GSTIN, phone, or email
- Type filter — All / Customer / Vendor / Both
- Columns — Name, Type (color-coded badge), GSTIN, Phone, Opening Balance
- Click to view — Opens detailed party profile
- + New Party — Button to create
Creating a Party
Click + New Party to open the creation form. Fields:
- Name (required) — Business/trading name (must be unique per company)
- Type — Customer, Vendor, or Both
- GSTIN — Enter the 15-character GSTIN and click the lookup button to auto-fill details from the GST portal
- PAN — Auto-derived from GSTIN (characters 3-12) or entered manually
- Email / Phone — Primary contact
- Payment Terms — NET (days from invoice), DUE_ON (specific day of month), or CUSTOM
- Credit Limit — Maximum outstanding balance allowed
- MSME — Number, category (Micro/Small/Medium), classification
- Opening Balance — Starting receivable/payable amount and type (Debit/Credit)
GSTIN Lookup
When you enter a valid GSTIN, Sally can look up the registration details from the GST portal:
- Trade name and legal name
- PAN number
- Registered address (auto-fills the address section)
- Registration status (Active/Cancelled/Suspended)
- Registration date
Results are cached so repeated lookups for the same GSTIN are instant.
APPYFLOW_KEY environment variable to be configured. If not available, manual entry still works.Party Detail Page
Click any party to see their full profile at /parties/[id]:
Address Book
- Multiple addresses per party (Head Office, Warehouse, Branch, etc.)
- Each address: label, address line 1 & 2, city, state, pincode, country, GSTIN
- Default billing flag — used automatically on new invoices
- Default shipping flag — used for ship-to address
- Add/edit/remove addresses inline
Contacts
- Multiple contacts per party
- Fields: name, email, phone, mobile, designation, department
- Primary contact flag
Bank Accounts (for vendors)
- Account holder name, bank name, account number, IFSC, branch, UPI ID
- Default account flag for payment processing
Transaction History
- All invoices, payments, and voucher entries involving this party
- Current outstanding balance
- Aging breakdown (0-30, 31-60, 61-90, 90+ days)
Party ↔ Ledger Relationship
Every party is backed by a ledger in the chart of accounts:
- Customer → Ledger in “Sundry Debtors” group (Asset nature)
- Vendor → Ledger in “Sundry Creditors” group (Liability nature)
- Both → Placed in whichever group the user chooses
When you create a party, the corresponding ledger is created automatically. Changes to the party name update the ledger name. Deleting a party soft-deletes both the party and its ledger.
Payment Terms & Due Dates
Configure per-party payment terms that auto-calculate invoice due dates:
- NET X days — Due date = Invoice date + X days (e.g., NET 30)
- DUE ON day — Due on a specific day of the following month (e.g., 15th)
- CUSTOM — Manually set per invoice
Interest on Overdue
Company-level settings for interest on overdue receivables:
- Interest rate (% p.a.) — Annual interest rate applied to overdue amounts
- Grace period (days) — Days after due date before interest starts accruing
Interest is calculated in the Outstanding / Aging reports.