Smaregi Product Data and Receipt Roller Product Data Mapping

Smaregi Product POS Integration Data Mapping

After connecting Smaregi to Receipt Roller, Smaregi's product master is automatically converted into Receipt Roller's product master (ProductDto). This article summarizes the field-by-field correspondence and the quirks specific to Smaregi.

To sync, run it manually from the "Sync from Smaregi" button on the Product Management screen. For details, see Smaregi POS integration setup.

Field mapping table

Smaregi /pos/products Receipt Roller (ProductDto) Notes
productIdSmaregiProductIdSmaregi's internal ID. Used as the match key on subsequent syncs.
productCodeSKUSmaregi's product code (the number store operators typically use).
productNameProductNameProduct name (maximum 85 characters).
descriptionDescriptionProduct description (not updated if blank).
categoryIdCategoryResolved to categoryName via /pos/categories and saved.
priceBasePriceConverted to decimal. On re-sync, overwritten only when the new value is greater than 0.
costBaseCostPriceConverted to decimal. If blank or 0, the existing value on the Receipt Roller side is kept.
displayFlag— (filter)Products with "0" (hidden on the terminal) are excluded from the sync.

Fields that are not imported

The following fields are not imported into Receipt Roller in the current version.

  • Tax rate (taxRate) — Smaregi's /pos/products does not return a tax rate. It only returns taxDivision (a tax-category value: 0 = tax-inclusive, 1 = tax-exclusive, 2 = non-taxable). Because the actual tax rate is determined by Smaregi's tenant settings, Receipt Roller sets a default of 10% on new registration and keeps the existing rate on updates.
  • JAN code — the Smaregi /pos/products endpoint has no JAN code field. Register this separately on the Receipt Roller side.
  • Brand, supplier, model number, series, etc. — there is no corresponding concept in Smaregi's standard fields. Register these separately on the Receipt Roller side.
  • Product images — syncing images from Smaregi is not supported in the current version.
  • Variations (individual products differing by color or size) — Smaregi's parent-child product structure is not expanded into individual products in the current version.
  • Per-store pricing — if Smaregi has different prices set per store, only the contract-wide base price is imported in the current version. You can override this on the Receipt Roller side using StorePricesJson.
  • Receipt Roller–specific fields (Brand / Supplier / JanCode / ModelNumber / TaxRate, etc.) — fields with no corresponding concept in Smaregi, or that are not synced, are never overwritten on re-sync. Content registered manually on the Receipt Roller side is preserved.

Matching and new registrations

When products are imported from Smaregi, matching against existing products is done solely by an exact match on SmaregiProductId. If there is no match, the product is added to PIM as new. No automatic matching by product name or SKU is performed (since identical names could still be different products).

Sync timing

  • Smaregi → Receipt Roller (product master import): Triggered manually with the "Sync from Smaregi" button on the Product Management screen. All products and the category list are fetched from the Smaregi Platform API (/pos/products + /pos/categories) and matched by SmaregiProductId to add or update records.
  • Behavior on re-sync: For existing products (matched by the same SmaregiProductId), ProductName / Description / SKU / Category / BasePrice / BaseCostPrice (only when a value is present) are overwritten. Brand / Supplier / JanCode / TaxRate, etc. added on the Receipt Roller side are preserved.
  • Receipt Roller → Smaregi: Not supported in the current version. Products registered on the Receipt Roller side are not automatically reflected back to Smaregi.

Points to note

  • If a product is physically deleted on the Smaregi side, matching by that product's SmaregiProductId stops working. On Smaregi, we recommend hiding products via displayFlag instead of deleting them (hidden products are excluded from the sync, but their link with past transaction line items is preserved).
  • Cost (cost) is also an optional field on Smaregi. If cost has not been entered on the Smaregi side, you will need to enter BaseCostPrice manually on the Receipt Roller side. Consider organizing your cost data to make use of profit analysis.
  • If products with tax rates other than 10% (such as the 8% reduced rate) are mixed in, change TaxRate to 0.08 individually on the Receipt Roller side after syncing. Since no tax rate comes from the Smaregi side, this is not set automatically.
  • The initial sync of a large number of products may take time due to API rate limits. Products beyond your plan's product-count limit will be skipped.

Product information carried via transaction line items

Even if you have not run a product master sync, the productCode / productName / categoryName from SmaregiTransactionDetail are imported as transaction line items whenever a transaction occurs. These are saved as a snapshot at the time of the transaction, and function as the underlying data for receipt display and per-product sales totals. For details, see Smaregi transaction data mapping.

Related guides

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