{"title":"Capture address fields when creating a new POS customer","slug":"pos-new-customer-address-fields","url":"https://support.storeconnect.com/articles/pos-new-customer-address-fields","url_markdown":"https://support.storeconnect.com/articles/pos-new-customer-address-fields.md","subtitle":null,"summary":"Add POS Layout Fields to the customer form layout so cashiers can record a customer\u0026#39;s billing, shipping, or mailing address while creating the customer at the POS.","type":"Help_Documentation","video_url":"","keywords":"POS new customer, POS address fields, POS layout fields, billing address POS, shipping address POS, mailing address POS, customer form layout, customer_form identifier, POS customer creation, capture address at POS, point of sale customer, POS layout configuration, Pos_Layout_Field__c","last_modified":"2026-09-16T07:15:50+0000","body_markdown":"By default, the POS new customer form captures first name, last name, phone, and email. Use this process to add address fields to that form, so a cashier records the address at the same time as the name and contact details.\n\nThe form supports three sets of address fields:\n\n- **Billing address** (`billingstreet`, `billingcity`, `billingstate`, `billingpostalcode`, `billingcountry`) — saved to the **Billing Address** on the customer's **Account** record in Salesforce.\n- **Shipping address** (`shippingstreet`, `shippingcity`, `shippingstate`, `shippingpostalcode`, `shippingcountry`) — saved to the **Shipping Address** on the customer's **Account** record in Salesforce.\n- **Mailing address** (`mailingstreet`, `mailingcity`, `mailingstate`, `mailingpostalcode`, `mailingcountry`) — saved to the **Mailing Address** on the customer's **Contact** record in Salesforce.\n\nUse **billing or shipping** when the address is for delivery or order purposes, or when your fulfillment or reporting works from the Account. Use **mailing** when the address belongs to the individual contact. For example, direct mail or marketing tools that draw from the Contact's **Mailing Address** rather than the Account.\n\nThe form is controlled by a **POS Layout** record with the identifier `customer_form`, and each field on it is a **POS Layout Field** record.\n\n:::warning\nA `customer_form` layout replaces the default form, it does not add to it. As soon as the layout has one or more **POS Layout Fields**, the POS shows only those fields, so first name, last name, phone, and email disappear unless you add them yourself. The form also cannot be submitted without a first name, a last name, and either a phone number or an email address. Step 2 adds those four fields back.\n:::\n\n## Before you start\n\n- You need StoreConnect Administrator permissions to create **POS Layout** (`Pos_Layout__c`) and **POS Layout Field** (`Pos_Layout_Field__c`) records.\n- Check whether a **POS Layout** with **Identifier** `customer_form` already exists in your org. If it does, skip Step 1 and add your fields to it.\n\n## Step 1: Create a customer form layout\n\n1.  In Salesforce, go to the **POS Layouts** list (or search for it in the App Launcher).\n2.  Click **New**.\n3.  Complete the record:\n\n    | Field | Value |\n    |---|---|\n    | **Name** | Customer form |\n    | **Type** | `Form` |\n    | **Object Name** | `contact` |\n    | **Identifier** | `customer_form` |\n\n4.  Click **Save**.\n\n:::note\nBoth values have to be exactly these. The POS finds this layout by looking for the identifier `customer_form`, and it uses **Object Name** to work out which object's fields to sync to the device. Set it to `contact`. With `customer`, the POS skips the layout when it builds the data schema, and any mailing address field you add in Step 3 is dropped when the customer is saved.\n:::\n\nFor everything else a layout can do, including action items and custom views, see [POS layouts](pos-layouts).\n\n## Step 2: Add the four default fields\n\nThe layout replaces the default form, so add these four fields first. Create one **POS Layout Field** record for each.\n\n1.  Open the **POS Layout** record you created.\n2.  In the **POS Layout Fields** related list, click **New**.\n3.  Set **Field Name**, **Display Name**, and **Position**, then click **Save**.\n4.  Repeat for each of the four fields.\n\n| Field Name | Display Name | Position |\n|---|---|---|\n| `firstname` | First name | 1 |\n| `lastname` | Last name | 2 |\n| `phone` | Phone | 3 |\n| `email` | Email | 4 |\n\n**Position** sets the order the fields appear in, ascending, starting from 1.\n\n## Step 3: Add the address fields\n\nAdd one **POS Layout Field** record for each part of the address you want the cashier to record, continuing the **Position** numbering from Step 2.\n\nYou do not have to add all five fields from a set. A store that only needs a suburb and postcode can add just those two.\n\nThe **Position** values in the tables below assume you are adding one set. If you add fields from more than one set, carry the numbering upward rather than restarting at 5, so billing runs 5 to 9 and mailing 10 to 14. Give every field on the layout its own **Position**: the POS sorts the form by that number, so two fields sharing one appear in an order you have not chosen.\n\n**Billing address** (saves to the Account's Billing Address in Salesforce):\n\n| Field Name | Display Name | Position |\n|---|---|---|\n| `billingstreet` | Street | 5 |\n| `billingcity` | City | 6 |\n| `billingstate` | State | 7 |\n| `billingpostalcode` | Postcode | 8 |\n| `billingcountry` | Country | 9 |\n\n**Shipping address** (saves to the Account's Shipping Address in Salesforce):\n\n| Field Name | Display Name | Position |\n|---|---|---|\n| `shippingstreet` | Street | 5 |\n| `shippingcity` | City | 6 |\n| `shippingstate` | State | 7 |\n| `shippingpostalcode` | Postcode | 8 |\n| `shippingcountry` | Country | 9 |\n\n**Mailing address** (saves to the Contact's Mailing Address in Salesforce):\n\n| Field Name | Display Name | Position |\n|---|---|---|\n| `mailingstreet` | Street | 5 |\n| `mailingcity` | City | 6 |\n| `mailingstate` | State | 7 |\n| `mailingpostalcode` | Postcode | 8 |\n| `mailingcountry` | Country | 9 |\n\n:::note\nField names are matched case-insensitively, so `billingstreet` and `BillingStreet` both work. There is no `billingstateprovince` or `shippingstateprovince` field in Salesforce. Use `billingstate` and `shippingstate`.\n:::\n\n## Step 4: Confirm the fields appear in the POS\n\nAdding layout fields changes the POS data schema. The POS picks the change up the next time it loads, and re-syncs contact records so the new fields are available on the device.\n\n1.  Reload the POS in the browser.\n2.  Go to the **Customers** list and click **Create new customer**. To check the in-cart path instead, open a cart, add a customer, then click **Create new customer**.\n3.  Confirm the form shows the four default fields followed by your address fields, in **Position** order.\n4.  Enter a customer's details, including an address, then click **Create new customer**. In the in-cart path, the button is **Create \u0026 add to cart**.\n\nOpen the new record in Salesforce to confirm the address was saved. Billing and shipping address fields appear on the **Account** record; mailing address fields appear on the **Contact** record."}