Square Customer Data and Receipt Roller Customer Data Mapping

Square Customer Customer Directory POS Integration Data Mapping

Customers registered in Square Customer Directory are automatically converted into Receipt Roller's customer data (CrmCustomerDto) after connecting Square to Receipt Roller. This article summarizes the field-by-field correspondence and the quirks specific to Square.

For the two-way sync mechanism for membership data itself (timing, priority in case of conflicts, troubleshooting), see Two-way membership data sync with Smaregi / Square. This article is strictly a technical document focused on "which field maps to what."

Field mapping table

Square Customer Directory Receipt Roller (CrmCustomerDto) Notes
id— (held in PosCustomerLink)Square's internal ID. On the Receipt Roller side this is not stored on Customer itself, but saved in vendorIdentifier of the link table PosCustomerLinkEntity.
reference_idMembershipCodeAn ID store operators can use freely. Adopted directly as Receipt Roller's membership number. If unset, Receipt Roller auto-issues one.
family_nameLastNameCarried over as-is.
given_nameFirstNameCarried over as-is.
email_addressEmailNormalized by lowercasing and trimming leading/trailing whitespace.
phone_numberPhoneNormalized to E.164 format (Square already stores numbers in E.164, so conversion is unnecessary in most cases).
birthdayDateOfBirthSquare uses YYYY-MM-DD format. Stored on the Receipt Roller side as a UTC date-time.
address.postal_codePostalCodeHyphens are preserved as-is.
address.administrative_district_level_1PrefecturePrefecture.
address.localityCityCity/ward/town/village.
address.address_line_1Address1Neighborhood and house number.
address.address_line_2Address2Building name and room number.
noteNotesFree-text memo for store staff.

Fields that are not imported

  • Name reading / kana (LastNameKana / FirstNameKana) — blank because Square has no kana field.
  • Gender (Gender) — not a standard field in Square Customer Directory.
  • Square-side groups (group_ids) — Square's group feature operates at a different granularity than Receipt Roller's MembershipLevel or Tags, so it is not imported in the current version.
  • Square-side segments (segment_ids) — these are dynamically computed segments, so carrying them over to the Receipt Roller side has little meaning and is not supported.

Matching and new registrations

When new customer information arrives from Square, Receipt Roller performs duplicate-person matching against existing customers in the following order.

  1. MembershipCode (exact match with Square's reference_id)
  2. Email (exact match after lowercasing and trimming leading/trailing whitespace)
  3. Phone (exact match after E.164 normalization)

If none of these match, the customer is added to the CRM as new. If a match is found, the existing customer's information is updated (field-level last-write-wins).

Sync timing

  • Registering/updating members (Square → Receipt Roller): Reflected in the CRM within seconds via Square Webhooks (customer.created / customer.updated).
  • Periodic backup: As a fallback in case the webhook doesn't arrive, differences are fetched via the SearchCustomers API every hour.
  • Receipt Roller → Square: The moment a customer registers as a member or updates their information in the app, a call to Square's CreateCustomer / UpdateCustomer is added to the queue. Usually reflected within seconds to a few minutes.

Points to note

  • If a customer is physically deleted on the Square side, matching on the Receipt Roller side stops working. Please be careful when deleting from the Square dashboard.
  • If staff manually rewrite Square's reference_id, the MembershipCode match on the Receipt Roller side breaks. We recommend not changing this field once it is treated as a membership number.
  • Square's address is a structured field, but in many cases store staff enter everything into address_line_1 without distinguishing "house number" from "building name" in the UI. In that case, Address2 will be blank.
  • Contact the development team if you'd like to make use of Square's groups or segments as Receipt Roller tags.

Related guides

Published: 2026-05-29 Updated: 2026-07-02