Smaregi Customer Data and Receipt Roller Customer Data Mapping
Smaregi's member master is automatically converted into Receipt Roller's customer data (CrmCustomerDto) after connecting Smaregi to Receipt Roller. This article summarizes the field-by-field correspondence and the quirks specific to Smaregi.
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
Smaregi (SmaregiCustomer) |
Receipt Roller (CrmCustomerDto) |
Notes |
|---|---|---|
customerId | — (held in PosCustomerLink) | Smaregi's internal ID. On the Receipt Roller side this is not stored on Customer itself, but saved in vendorIdentifier of the link table PosCustomerLinkEntity. |
customerCode | MembershipCode | Smaregi's membership code (the number store operators typically use). Adopted directly as Receipt Roller's membership number. |
lastName / firstName | LastName / FirstName | Carried over as-is. Since Smaregi has no standard kana field, LastNameKana / FirstNameKana are left blank. |
email | Email | Normalized by lowercasing and trimming leading/trailing whitespace, then saved. |
mobileNumber or phoneNumber | Phone | Mobile number (mobileNumber) takes priority. If blank, phoneNumber is used. Normalized to E.164 format (e.g. +819012345678). |
Fields that are not imported
Of Smaregi's standard member fields, the following are not imported into Receipt Roller in the current version.
- Address (
PostalCode/Prefecture/City/Address1/Address2) — because Smaregi's standard fields do not include an address. Register this separately on the Receipt Roller side, or it will remain blank. - Date of birth (
DateOfBirth) — not included in Smaregi Platform API's standard member response. Preserved only if the customer registered it themselves via the Receipt Roller app. - Gender (
Gender) — same as above. - Name reading / kana (
LastNameKana/FirstNameKana) — blank because there is no such field in Smaregi's standard fields.
Matching and new registrations
When new member information arrives from Smaregi, Receipt Roller performs duplicate-person matching against existing customers in the following order.
MembershipCode(exact match with Smaregi'scustomerCode)Email(exact match after lowercasing and trimming leading/trailing whitespace)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 (Smaregi → Receipt Roller): Reflected in the CRM within seconds via a Smaregi webhook.
- Periodic backup: As a fallback in case the webhook doesn't arrive, differences in the member master are fetched every hour.
- Receipt Roller → Smaregi: The moment a customer registers as a member or updates their information in the app, a registration job to Smaregi is added to the queue. Usually reflected within seconds to a few minutes.
Points to note
- If member data is physically deleted on the Smaregi side, matching on the Receipt Roller side stops working. On Smaregi, we recommend logical deletion (deactivation).
- If Smaregi's
customerCodeis changed afterward, theMembershipCodematch on the Receipt Roller side may break, causing the customer to be treated as new. When changing the code, we recommend also keeping the email address or phone number matching, by maintaining both fields. - Fields that exist only on the Receipt Roller side — such as name reading/kana, address, and date of birth — are not written back to Smaregi. They conform to Smaregi's field structure.
Related guides
- CrmCustomerDto reference (for developers) — full field specification of the canonical model
- Two-way membership data sync with Smaregi / Square
- Smaregi transaction data and Receipt Roller transaction data mapping
- Smaregi POS integration setup
-
Smaregi Transaction Data and Receipt Roller Transaction Data MappingA technical explanation of how transaction data fetched from the Smaregi Platform API is mapped into Receipt Roller's transaction data model. Covers the field mapping table, status code conversion, payment method normalization, resolving line items/customer/staff information, timezone handling, and idempotency.
-
Two-Way Member Information Sync with Smaregi/SquareLearn how ReceiptRoller's member information syncs bidirectionally with connected POS systems like Smaregi and Square. Covers which fields sync, sync timing, conflict priority rules, new customer matching, supported POS systems, and troubleshooting.
-
How Digital Receipts WorkAn explanation of how ReceiptRoller's digital receipts work, and how to set up POS integration with Square and Smaregi.
-
Smaregi x ReceiptRoller — Digital Receipts, Customer Management, and Sales Analysis in One AppLearn how ReceiptRoller Link connects with Smaregi checkouts to unify automatic digital receipt issuance, member management, sales analysis with AI advice, Apple/Google Wallet membership cards, SNS integration, and flyer distribution. Install "ReceiptRoller Link" from the Smaregi App Marketplace to get started today with no complicated API setup required.
-
Smaregi Product Data and Receipt Roller Product Data MappingExplains how Smaregi's product master is converted into Receipt Roller's product master (ProductDto), field by field. Covers the correspondence for product code, product name, category, price, and cost, along with quirks specific to Smaregi.