Skip to main content

Add a customer

Add New Customer brings a restaurant into the supplier's list. If the restaurant is already on Clipp, the supplier sends it a connection request. If not, the supplier creates it and invites it.

Who uses it​

  • Supplier staff with full access to customers.
  • Restaurants receive the invitation or request and accept it.

How it works​

  1. Contact. Enter a first name, and a phone (a valid US number) and/or an email.
  2. Matching. Once the phone or email is complete and valid, Clipp looks for an existing restaurant. It also finds every restaurant a matched person belongs to, and the children of a matched parent business. Restaurants already connected or invited to this supplier are left out.
  3. Connect or create. Any match means the supplier must connect to it: the first match is pre-selected. A matched phone locks the email field, and a matched email locks the phone field. With no match, enter the business name, a shipping address (required), a billing address (same as shipping unless changed) and optionally a tax document.
  4. Confirmation. The result says whether an invitation is pending, no invitation was sent (no contact given), or a connection request awaits the restaurant's acceptance.

Going back from business details keeps what was typed. Closing the dialog discards everything, and it cannot be closed while saving.

Calculations​

None.

Where it shows up​

  • The Customers list, as Invited until accepted.
  • The invitation email and text, sent on every channel the supplier provided. A connection request goes to the existing restaurant's owner on every available channel, and to the matched non-owner member too.

Permissions​

Customers: full access.

Decisions​

  • A contact match blocks creating a duplicate. One restaurant, one record, shared by all suppliers.
  • A failed tax-document upload does not stop creation. The customer is created and the supplier is told the upload failed.

Specs​

add-new-customer.feature
# prefix: ANC
Feature: Add New Customer
Supplier adds a new customer by providing contact and business information.
If the contact matches an existing restaurant, the supplier can connect to it
instead of creating a duplicate customer.

Background:
Given a supplier is adding a new customer

Rule: Contact information requires a first name

Scenario: ANC-001 first name is required to proceed
Given the supplier has not provided a first name
When the supplier attempts to proceed to business information
Then the supplier is prevented from proceeding
And the supplier is informed that a first name is required

Scenario: ANC-002 phone number must be a valid US number when provided
Given the supplier has provided a phone number that is incomplete or non-US
When the supplier attempts to proceed to business information
Then the supplier is prevented from proceeding
And the phone number is identified as invalid

Scenario: ANC-003 email is validated when provided
Given the supplier has provided a first name
When the supplier provides a malformed email
Then the supplier is prevented from proceeding
And the email is identified as invalid

Rule: Matching contacts are surfaced only on complete valid information

Scenario Outline: ANC-004 exact <contact_type> match reveals existing restaurants
Given an existing restaurant's <contact_type> matches exactly
When the supplier has provided complete valid contact information
Then the matching restaurant is surfaced as a possible connection

Examples:
| contact_type |
| phone number |
| email address |

Scenario: ANC-005 incomplete or absent contact information does not trigger matching
Given the supplier has provided an incomplete phone number or email, or no contact method at all
Then no existing customers are surfaced
And no matching check is performed against existing records

Scenario: ANC-006 matching a registered user reveals all their restaurant memberships
Given the contact information matches an existing registered user
And that user is a member of one or more restaurants
When the contact information is complete and valid
Then each of those restaurants is surfaced as a possible connection

Scenario: ANC-007 restaurants already connected or invited to the supplier are excluded from matches
Given the supplier is already connected to or has a pending invitation with a matched restaurant
When matches are being surfaced
Then that restaurant is excluded from the possible connections

Scenario: ANC-008 all matches already connected or invited blocks further action
Given every restaurant matching the contact is already connected to or has a pending invitation from the supplier
When matches are being surfaced
Then the supplier is informed that these restaurants are already in their customer list
And the supplier cannot proceed
And the supplier must revise the contact information to continue

Scenario: ANC-009 multiple locations under the same contact are shown as connection options
Given the contact matches multiple restaurants unknown to the supplier
When matches are being surfaced
Then each matching restaurant is listed as a separate connection option

Scenario: ANC-029 a restaurant matching both directly and through a registered user is surfaced only once
Given a restaurant matches the contact information directly
And the same restaurant also matches through a registered user's membership
When matches are being surfaced
Then the restaurant is listed as a single connection option

Scenario: ANC-032 children of a matched parent business are surfaced alongside the parent
Given the contact information matches a parent business
And that parent business has one or more child restaurants
When matches are being surfaced
Then the parent business and each of its child restaurants are listed as connection options
And any child already connected or invited by the supplier is excluded from the options

Rule: Any contact match requires connecting to an existing restaurant

Scenario: ANC-010 supplier cannot create a new customer when contact matches any existing restaurant
Given the contact information matches one or more existing restaurants
And at least one matched restaurant is available for connection
When the supplier reviews the matches
Then the supplier must choose one of the surfaced restaurants to proceed
And creating a new customer with that contact information is not permitted

Scenario: ANC-031 first matching restaurant is pre-selected when matches are surfaced
Given the contact information matches one or more existing restaurants
When the matches are surfaced
Then the first matching restaurant is automatically selected as the default connection
And the supplier may switch the selection to a different match before proceeding

Scenario: ANC-011 registered user match with no available restaurants prevents any action
Given the contact information matches an existing registered user
And no matching restaurant is available for connection
When the supplier reviews the contact information
Then the supplier is informed that the contact belongs to an existing account
And the supplier must revise the contact information to proceed

Rule: Supplier can connect to a matched existing restaurant

Scenario: ANC-012 supplier chooses an existing restaurant and sends a connection request
Given the supplier has chosen one of the surfaced matching restaurants
When the supplier confirms the connection
Then a connection request is sent to that restaurant
And the supplier's customer list includes the restaurant with an invited status

Scenario: ANC-013 connection request requires restaurant acceptance before accounts are linked
Given a connection request has been sent to an existing restaurant
When the restaurant has not yet accepted the request
Then the connection remains pending
And the supplier and the restaurant are not connected until the restaurant accepts

Scenario: ANC-035 connection request notification goes to the existing restaurant's owner
Given the supplier has chosen one of the surfaced matching restaurants
When a connection request is sent to that restaurant
Then the invitation notification is sent to the restaurant's owner
And the owner notification is sent regardless of any contact details the supplier provided on the invitation form
And the supplier-provided contact name, email, or phone is stored on the invitation record
And if the supplier-provided contact differs from the owner's contact on a given channel, an additional notification is sent to the supplier-provided contact on that channel
And no additional notification is sent on a channel where the supplier-provided contact matches the owner's

Scenario: ANC-039 connection request notifies the owner on every available contact channel
Given the supplier has chosen one of the surfaced matching restaurants
And the restaurant's owner has both an email and a phone number on record
When a connection request is sent to that restaurant
Then the invitation notification is sent to the owner via email
And the invitation notification is sent to the owner via SMS

Scenario: ANC-040 connection request notifies the matched non-owner member alongside the owner
Given the contact information matched a registered user who is a member of the chosen restaurant but not its owner
When a connection request is sent to that restaurant
Then the invitation notification is sent to the restaurant's owner
And the invitation notification is also sent to the matched member on the channel(s) the supplier provided on the invitation form

Rule: A matched contact field locks the other contact field to prevent mismatched input

Scenario: ANC-036 phone match disables the email field
Given the supplier has provided a phone number that matches an existing restaurant
When the match is surfaced
Then the email field becomes disabled
And any value previously typed in the email field is ignored for the invitation

Scenario: ANC-037 email match disables the phone field
Given the supplier has provided an email that matches an existing restaurant
When the match is surfaced
Then the phone field becomes disabled
And any value previously typed in the phone field is ignored for the invitation

Scenario: ANC-038 clearing or changing the matched field re-enables the other field
Given a contact match has disabled one of the contact fields
When the supplier clears or changes the matched field such that no match is found
Then the previously disabled field becomes editable again

Rule: Business details are required for new customer creation

Scenario: ANC-016 business name is required
Given the supplier is creating a new customer
When the supplier attempts to finalize without a business name
Then the supplier is prevented from finalizing
And the missing business name is identified

Scenario: ANC-017 shipping address is required
Given the supplier is creating a new customer
When the supplier attempts to finalize without a complete shipping address
Then the supplier is prevented from finalizing
And the missing shipping address is identified

Scenario: ANC-018 billing address defaults to shipping
Given the supplier is creating a new customer
When the supplier does not specify a separate billing address
Then the customer's billing address matches the shipping address

Scenario: ANC-019 supplier specifies a separate billing address
Given the supplier is creating a new customer
When the supplier provides a billing address distinct from the shipping address
Then the customer's billing address is stored separately from the shipping address

Scenario: ANC-020 supplier attaches a tax document to the business
Given the supplier is creating a new customer
When the supplier attaches an EIN or Tax ID document
And the customer is successfully created
Then the document is associated with the customer

Rule: Customer creation sends an invitation via available channels

Scenario Outline: ANC-021 invitation behavior depends on the provided contact information
Given the supplier is creating a new customer with <contact>
When the customer is successfully created
Then <outcome>

Examples:
| contact | outcome |
| phone and email | an invitation is sent via email and phone |
| phone only | an invitation is sent via phone only |
| email only | an invitation is sent via email only |
| neither phone nor email | no invitation is created |

Scenario: ANC-022 tax document upload failure does not prevent creation confirmation
Given the supplier attached a tax document while creating a customer
And the customer is successfully created
When the document upload subsequently fails
Then the supplier still sees the creation confirmation
And the supplier is separately notified of the upload failure

Rule: Outcome confirmation reflects the type of action taken

Scenario: ANC-023 new customer creation with contact information shows confirmation with pending invitation
Given the supplier has successfully created a new customer with a phone number or email
Then the supplier is shown a confirmation that the customer has been created with a pending status
And the confirmation explains that the status will update once the customer signs up

Scenario: ANC-033 new customer creation without contact information shows confirmation without invitation
Given the supplier has successfully created a new customer without a phone number or email
Then the supplier is shown a confirmation that the customer has been created
And the confirmation explains that no invitation was created

Scenario: ANC-024 connection request shows confirmation with acceptance pending notice
Given the supplier has successfully sent a connection request to an existing restaurant
Then the supplier is shown a confirmation that an invitation has been sent for approval
And the confirmation explains that orders can still be processed while acceptance is pending

Rule: Provided contact details are stored on the new customer

Scenario: ANC-034 first name is stored on the customer's primary contact when no phone or email is provided
Given the supplier has provided a first name
And the supplier has not provided a phone number or email
When the customer is successfully created
Then the first name is associated with the customer's primary contact
And the supplier sees the first name on the customer record

Rule: Supplier can revise information before finalizing

Scenario: ANC-025 supplier can return to contact information from business details
Given the supplier has proceeded to business information
When the supplier chooses to return to contact information
Then the contact information is shown for revision

Scenario: ANC-026 previously entered business details are preserved when returning
Given the supplier has entered business information
When the supplier navigates back to contact information and forward again
Then the previously entered business information is still present

Scenario: ANC-027 creation cannot be abandoned while saving is in progress
Given the supplier has triggered customer creation
When the creation is still in progress
Then the supplier cannot abandon the new customer flow

Scenario: ANC-028 abandoning the creation discards all entered information
Given the supplier has entered information but has not completed creation
When the supplier abandons the new customer flow
Then all entered information is discarded

Known limitations​

  • A connection request links the accounts only after the restaurant accepts.

FAQ​

It won't let me create the customer. A restaurant with that phone or email exists. Connect to it instead.

Can I add a customer without a phone or email? Yes. No invitation is sent; the first name is stored on the primary contact.

The restaurant never got the invitation. Open the customer page and use Resend Invitation. See Customer page.