Best Practices
Recommended setup
Start with a focused date range
Use the start date picker to limit your initial pull to the last 30–90 days. Square accounts with years of order history can be slow to load in full — start focused, then expand once your data flow is working correctly.
Join Orders and Payments for revenue reconciliation
Orders contain line item detail; Payments contain the actual transaction amounts and methods. Use the Join transformation on order_id to build a complete sales picture in one table rather than switching between two sheets.
Use location_id as your primary grouping field
Almost every Square entity includes location_id. Add it to your reports from day one so you can slice revenue, labor costs, and inventory by store without needing to restructure your data later.
Data refresh and scheduling
Match refresh frequency to entity type
Transactional entities like Orders, Payments, and Shifts change frequently — schedule these hourly or daily. Catalog entities like Items and Categories rarely change, so daily or weekly is plenty.
Run labor and payroll data flows before pay periods close
Shift and wage data is most useful when pulled before payroll is processed. Schedule Shifts and Team member wages data flows to run the day before your payroll cutoff.
Performance optimization
Split high-volume entities into separate data flows
If you have years of order history, pulling Orders, Payments, and Refunds in a single flow can be slow. Put each entity in its own data flow with an appropriate start date to keep run times fast.
Enable deleted objects only when you need them
Enabling "Include deleted objects" increases the payload size for catalog entities. Only turn this on for historical audits — leave it off for standard reporting to keep your data clean and your runs faster.
Common pitfalls
Monetary values are in cents. Every amount field in Square (total_money, amount_money, etc.) is returned in the smallest currency unit. Always divide by 100 to get dollar values in your reports — forgetting this will make your revenue figures look 100x larger than they are.
Do
Divide amount fields by 100 to convert cents to dollars
Use a separate connection for each Square account if you run multiple businesses
Join Shifts with Team member wages to calculate actual labor cost — don't rely on Shifts alone
Verify your start date covers the period you need before running a large historical pull
Don't
Pull all entities in one data flow if your Square account has high transaction volume
Assume the Order total equals the Payment amount — tips, partial payments, and split tenders can cause differences
Use the Loyalties entity alone for customer analysis — join it with Customers to get identifiable profiles
Leave "Include deleted objects" enabled by default if you only need active catalog data
Last updated
Was this helpful?
