Add and Retrieve EUSA details of an item - nijil/erpnext GitHub Wiki

Requirement

EUSA (End User Service agreement) is an agreement agreed upon by the provider usually for giving after sale support on purchased products. Eash sold item is usually attached to an EUSA such that the company can cater to the needs of customers accordingly. For example if you purchase a Dell Laptop you have the option of choosing from a variety of options like minimal warranty with tele support or on-site support or both with replacement, accidental damage protection etc over a period of 1 or 2 or n number of years. We need to append this along with the current invoicing system so that a EUSA can be added for every item and retrieved when required.

Required changes

We need a new master table tabEUSA for storing EUSA name along with its description and status (currently available or not).In table tabItem add column for EUSA name to refer tabEUSA. This will get populated when a new item gets added. An option for linking multiple available EUSA option for an item if required can also be added. Details of sold items with unique row entry goes to table tabRV Detail.Now there 2 possibilities. The sold item has a serial no: or not.

  1. If there is a serial number for the sold goods then we can pin point an items using that.We need to add an extra column in the table tabSerial No for EUSA name so that each item with a unique serial number will have a EUSA attached.We can even have multiple EUSA for a unique item.It would get added as another row everything else remaining the same.

  2. If there is no serial number, then the invoice would have to be found first from which the EUSA option can be viewed.

Altered(A)/New(N) Table list

  1. tabServiceAgreement (N) From :A new doctype for entering these details need to be created. Column: a:ServiceAgreementName:Name used to refer to an Agreement.(Alphanumeric)
    b:ServiceAgreementDescription:Description of Service Agreement.(Text)
    c:DefaultAgreemnt:One of that will be the default for all items without preset agreement.(For items which doesn't have compulsory Service Agreements).If there is no agreement set a doc with no agreement or something. - True or false d:isActive :Is an active agrement or not
  2. tabItem (A)
    From :'Create a new item' doctype - following columns will be appended along with the existing columns. Columns: a:isServiceAgreementCompulsory:Is Service Agreement Necessary for that particular item. b:SetDefaultServiceAgreement:Set a Service Agreement for a particular item. #c:AllowedAgreements :Allowed agreement options for a particular item.
  3. tabSerial No (A)
    From : If an Agreement is necessary for a sale - then Quotation doctype and Sales Invoice doctype page Columns: a:ServiceAgreements:For that Service Agreement
  4. tabRV Detail (A)

- Optional

PS:If a cost is accompanied along with a Service Agreement then a column in its master should be added which has the price. Implementation