Customer Tagging Workflow¶
Requirement Overview
To address the issues and variations observed in fetching the customer ID from the database within the application, the document needs to be revised. This revision should focus on reworking the customer tagging flow within the application to ensure accuracy and consistency.
Master Entry Flow¶
- Customers can be created from the following sections: Customer Profile, Party Master, Membership Master, and Quick Customer Profile.
- Customer master data is saved in 2 tables ( MEMBERSHIP | RMD_ACLIST ).
- Among this, the MEMBERSHIP table is the main table for saving customer information.
- Whenever a customer is created through Customer Profile or Party Master or Membership Master or Quick Customer Profile, customer information saved in MEMBERSHIP
table is must and the MEMID column value should take as id value for identification of customer information.
Note* : CUSTOMERPROFILE table is no longer in use from this version.However,data will be saved as in CUSTOMER PROFILE table with the same MEMID for backward compatibility only.
- Party Master : Data is saved in both RMD_ACLIST and MEMBERSHIP tables with RMD_ACLIST.ACID value as account field value.
- Customer Userprofile or Quick Customer Profile :
- IF ShowCashAccountingInLedgerReport SETTING VALUE = 1
Data is saved in both MEMBERSHIP and RMD_ACLIST table with RMD_ACLIST.ACID value in account field value. - IF ShowCashAccountingInLedgerReport SETTING VALUE = 0
Data is saved in MEMBERSHIP only with null value in account field value.
- IF ShowCashAccountingInLedgerReport SETTING VALUE = 1
- Membership Master :
- IF ShowCashAccountingInLedgerReport SETTING VALUE = 1
Data is saved in BOTH MEMBERSHIP and RMD_ACLIST table with RMD_ACLIST.ACID value in account field value and the column ISMEMBER = 1. - IF ShowCashAccountingInLedgerReport SETTING VALUE = 0
Data is saved in MEMBERSHIP only with null value in account field value.and the column ISMEMBER = 1
- IF ShowCashAccountingInLedgerReport SETTING VALUE = 1
- Data is saved in both MEMBERSHIP and RMD_ACLIST tables with RMD_ACLIST\ACID value in account field value.
- If a customer is created from membership master form then ISMEMBER = 1 otherwise ISMEMBER = 0 is saved by default.
Transaction Entry Flow¶
In all sales related transaction forms, customer lists should list from MEMBERSHIP TABLE only where ACTIVATE = 1 and ISACTIVE = 1.
Customer tagging is involved in the following sales forms with their respective tables.
QUOTATION : QUOTATION_MAIN
SALES ORDER : RMD_ORDERMAIN
PROFORMA INVOICE : INVMAIN
Customer tagging is saved in the PARAC and RECEIVEDBY columns of above tables where : -
PARAC column should store the selected customer's account ID, or store NULL if the customer does not have an account ID.
RECEIVEDBY column should store the selected customer's MEMID, which is a compulsory input field.
In case of sales order :
If EnableCusProfileInSOrder = 1,
Customer List should list from MEMBERSHIP table only where ACTIVATE = 1 and ISACTIVE = 1 (All Customer List from MEMBERSHIP)
If EnableCusProfileInSOrder = 0,
Customer list should list from MEMBERSHIP table only where ACTIVATE = 1 and ISACTIVE = 1 and ISNULL <> '' (all customer list from MEMBERSHIP which has account value)
Customer tagging should be implemented in the sales transaction forms :
Abbreviated Sales Invoice : ABBMAIN
Sales Tax Invoice : TRNMAIN
Credit Note : TRNMAIN
Sales Tax Invoice (Wholesale) : TRNMAIN
Sales Tax Invoice (Self Billing) : TRNMAIN
Export Sales Invoice : TRNMAIN
When the user selects customers in sales transaction forms and saves it, the customer information should be saved in the PARAC and RECEIVEDBY columns of the TRNMAIN and ABBMAIN tables.
TRNMAIN (TI / CN BILL)- PARAC column should store the selected customer's account ID, or set NULL if the customer does not have an account ID.
- RECIEVEDBY column should save the selected customer’s MEMID and is a compulsory input field in case of Tax Invoice Bill and Credit Note Bill with TI Reference but incase of CN bill with SI reference ,this field is optional.
Note : RECEIVEDBY column should not store null values in case of TI bill and CN bill with TI reference but can store NULL value only in case of CN bill with SI bill reference with no customer selection.
- PARAC column should store the selected customer's account ID, or NULL if the customer does not have an account ID.
- RECIEVEDBY column should save the selected customer’s MEMID or store NULL value if the customer is not selected.
In all sales related report dialog box, customer list should list from MEMBERSHIP table only where ISACTIVE = 1 (Note: Customer List should include inactive status customer list as well)
Accounting Entries¶
The accounting entries should be saved after the sales transaction as follow :
IF PARAC HAS ACID VALUE OF SELECTED CUSTOMER,
PARAC A/C —----------- DR DISCOUNT A/C —-------- DR (If discount accounting setting is on) DEFAULT SALES A/C —----- CR ( or item wise sales a/c if item wise sales A/C setting is on) VAT A/C —------------ CR BILL TENDER A/C —----- DR PARAC A/C —------------ CR IF PARAC IS NULL , BILL TENDER SELECTED A/C —------------DR DISCOUNT A/C —------------ DR (IF DISCOUNT ACCOUNTING SETTING IS ON) DEFAULT SALES A/C —----- CR ( or item wise sales a/c if item wise sales A/C setting is on) VAT A/C —----------- -CR