| Accrual against trade-discounted price (not catalogue) | SaaS reads catalogue, over-credits 200-400% | Order subtotal post-discount | The single most common bug. SparkLayer applies trade discount at checkout; SaaS loyalty apps see catalogue price; over-credit becomes invisible until quarterly reconciliation. |
| Cart-drawer widget rendering | Disappears when SparkLayer activates | Renders outside cart-drawer takeover | SparkLayer replaces native Shopify cart UI. Loyalty widgets in the native cart are hidden along with the rest. |
| Customer-tier-aware accrual rules | Often unsupported | Per-tier multipliers possible | Different SparkLayer customer tiers can have different accrual rates if business rules require. Custom build supports; SaaS apps generally do not. |
| Bulk-order accrual (B2B-style large orders) | Hits per-order cap rules built for D2C | Per-quarter caps native | A single B2B order can be $10k+, which trips D2C-style per-order caps. B2B accrual operates per-account per-quarter, which custom build supports natively. |
| Refund / cancellation netting on SparkLayer orders | Often manual or absent | Automatic via refunds/create + orders/cancelled webhooks | B2B refunds happen via SparkLayer return flow. The webhook fires; the integration nets points correctly. No manual reconciliation. |
| Multi-store / Site ID handling | Cross-contaminates customer data | Partitioned by Site ID | For organisations running multiple SparkLayer-powered stores (different brands, geographies), rewards data partitions correctly. |
| B2B account hierarchy (parent + sub-accounts) | Often unsupported | Configurable per business rules | B2B businesses often have a parent account with sub-accounts (different sites, different buyers under one head office). Custom build supports parent-account aggregation. |
| Historical reconciliation against SaaS-app dump | Manual spreadsheet work | Scripted reconciliation against order history | Before launch, audit the SaaS-app balances against actual SparkLayer-priced order data. Identify over-credits and under-credits. Decide the customer-facing approach. |