# Step 3 : Design forms

Next up in the process we will be using the [<mark style="color:purple;">**form builder**</mark>](https://docs.senpiper.com/form-builder/introduction) tool for collecting data.

### 1. Create the Item Master

1. Name the form "**Item master**"
2. Make this form a **master form.&#x20;**<mark style="color:purple;">**Click here**</mark> to learn how to make a form as a master to other forms.
3. Add fields as mentioned in the below table. Learn more on <mark style="color:purple;">**how to add fields in a form**</mark>
4. Learn how to <mark style="color:purple;">**Apply Auto-generated value**</mark> in a field. To generate below mentioned Item IDs select.&#x20;
   * Type: **Sequence**
   * Prefix: **#ITM-**
   * Length of the sequence: **3**
   * When this sequence should be reset?: **Never**

> Leave suffix empty

<table><thead><tr><th>Field Name</th><th width="120">Field Type</th><th width="192">Field Values</th><th width="121">Mandatory </th></tr></thead><tbody><tr><td>Item ID</td><td>Text</td><td>Each itemID should follow a pattern #ITM-001   #ITM-002 and so on</td><td>Yes</td></tr><tr><td>Item Name</td><td>Text</td><td>Any value </td><td>Yes</td></tr><tr><td>Item Description</td><td>Text</td><td>Any value</td><td>No</td></tr><tr><td>Unit price</td><td>Number</td><td>Any value</td><td>Yes</td></tr><tr><td>Item Unit</td><td>Drop down/Select field</td><td>gram, kilogram, liters, ml, count</td><td>Yes</td></tr></tbody></table>

5\. Once, you've finished adding the fields click on "**create form**". Voila your item master is ready

### 2. Create the reimbursement form

1. Click on "**Add a new form**" in the <mark style="color:purple;">**action pane**</mark> of the group
2. Name the form "**reimbursement form**"
3. Apply the "Item master" created above as a master to this form. Learn how to <mark style="color:purple;">**apply a master form**</mark>
4. Add the fields as mentioned in the below table.
5. Apply the user profile settings on the following fields. Learn <mark style="color:purple;">**how to apply user profile settings**</mark>&#x20;
   * Name of the Employee
   * Email of the employee
   * Phone number of the employee
6. Enable the values in "Name of item" to be shown as a dropdown via the item master form. Learn how to <mark style="color:purple;">**link fields from the master form**</mark>.
   * Map "name of the item" to "item name" in the "item master" and enable "**Allow users to search and populate master values from this field**" toggle
7. Map the following fields in this form with "item master" form&#x20;
   * Item Id
   * Item description
   * Unit Price
   * Unit
8. Disallow users to values in the following fields. Mark the following fields as "read only" Learn how to <mark style="color:purple;">**maintain the state of the form fields**</mark>
9. Apply a formula on the field " Total Amount" = "Quantity" \* "Unit price" Learn how to <mark style="color:purple;">**apply formulas on the form fields.**</mark>
10. Add a status field and add the relevant values.

<table><thead><tr><th width="188">Field name</th><th width="125">Field Type</th><th width="257">Field Value</th><th width="125">Mandatory </th><th width="150">Keep editable</th><th width="356">Remark</th></tr></thead><tbody><tr><td>Name of the employee</td><td>Text</td><td>It should be populated from user profile automatically</td><td>Yes</td><td>No</td><td></td></tr><tr><td>Email of the employee</td><td>Email</td><td>It should be populated from user profile automatically</td><td>Yes</td><td>No</td><td></td></tr><tr><td>Phone number of the employee</td><td>Phone</td><td>It should be populated from user profile automatically</td><td></td><td></td><td></td></tr><tr><td>Name of the item</td><td>Text</td><td>It should come from Item master. Values should be shown in a drop down</td><td>Yes</td><td>Yes</td><td></td></tr><tr><td>Item ID</td><td>Text</td><td>Populate from Item master.</td><td>Yes</td><td>No</td><td>Auto populated from item master</td></tr><tr><td>Item Description</td><td>Text</td><td>Populate from Item master.</td><td>No</td><td>No</td><td>Auto populated from item master</td></tr><tr><td>Unit Price</td><td>Number</td><td>Populate from Item master.</td><td>Yes</td><td>No</td><td>Auto populated from item master</td></tr><tr><td>Unit</td><td>Text</td><td>Populate from Item master.</td><td>Yes</td><td>No</td><td></td></tr><tr><td>Quantity</td><td>Number</td><td>Any value</td><td>Yes</td><td>Yes</td><td>User will provide the quantity</td></tr><tr><td>Total amount for reimbursement</td><td>Number</td><td>Quantity * Unit price</td><td>Yes</td><td>No</td><td>It should get auto-calculated based on inputs</td></tr><tr><td>Invoice Attachement</td><td>Doc/Image</td><td>PDF/JPEG/PNG</td><td>Yes</td><td>Yes</td><td></td></tr><tr><td>Approval Remarks</td><td>Text</td><td>Any value</td><td>No</td><td>Yes</td><td>Only the approver of the reimbursement amount will provide the remarks.</td></tr><tr><td>Status</td><td>Status</td><td>Submitted, Approved, Rejected</td><td>Yes</td><td>No</td><td></td></tr></tbody></table>

### Testing the data collection layer of your application&#x20;

Congratulations! you have created the data collection layer of your form successfully. Now to test your forms

* Add an entry to item master and try to see if you can use this in your reimbursement form

Your forms should look like these below forms

* <mark style="color:purple;">**Sample item master form**</mark>
* <mark style="color:purple;">**Sample Reimbursement form**</mark>
