Best Practices

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

triangle-exclamation

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?