Overview
Instead of building an integration with Square in-house, Tight communicates directly with Square on your behalf using your Square Developer account. This enables you to own the relationship between your customer and Square, while getting automatic invoice, payment, and payout reconciliation on the user’s books.Automated Reconciliation
Square deposits money directly into your users’ bank accounts on a regular cadence. When utilizing one of the Tight Bank Transactions integrations, e.g. Plaid, the bank deposit to the user’s bank account will also be ingested by the Tight API as part of that integration’s bank feed. Importantly, Tight’s algorithms automate the reconciliation between that bank deposit and the itemized transactions within Square, saving your users time that would have otherwise been spent manually reconciling these transactions in legacy accounting systems.Order Payout Example
- The business owner processes 4 orders of $1000 each through Square (e.g., point-of-sale transactions, online orders, invoices).
- These 4 Square orders are automatically synced into Tight as invoices.
- Customers pay for their orders via 4 separate credit card payments. Square deducts processing fees from each payment (2.9% + $0.30 per transaction = $29.30 per payment).
- Square groups these payments (now $970.70 each after fees) into a single payout.
- The user receives a payout from Square for $3882.80 ($4000 minus $117.20 in processing fees), also seen as a $3882.80 deposit into their checking account.
- The Tight API automatically matches the 4 synced invoices with the one payout, and creates expenses for the processing fees deducted from each payment. Additionally, the Tight Embedded experience nests these transaction line items neatly under a single payout row.
Create a Square Application
If you haven’t already, sign up for a Square Developer account. Once created, add a new Square application from the developer console.Setup Square OAuth
Tight’s Square integration utilizes OAuth 2.0 to read your users’ seller data. Once your Square application is created, navigate to the OAuth menu item from the navigation bar.Step 1: Configure Redirects
For the OAuth redirect URLs, addhttps://redirect.sandbox.tight.com/integrations/square.
While there, please note down the “Application ID” and the “Application Secret.”

Step 2: Connect Tight Webhook URLs (Real-Time Updates)
By subscribing the Tight API to receive webhooks on your Square dashboard, Tight will be able to pull in updates to your users’ commerce data in real-time. To do so, click on “Webhooks” then “Add subscription” which will open a new webhook form. Provide a name and specify the notification URL ashttps://webhook.sandbox.tight.com/square. Be sure to enable all Customers, Invoices, Orders,
Payments, Payouts, Refunds, and Vendors events.

Step 3: Production Setup
Once you are ready to go live in the “Production” environment, toggle to Production and add the following OAuth redirect URL:https://redirect.prod.tight.com/integrations/square. Additionally, configure a webhook subscription for
https://webhook.prod.tight.com/square with the same set of events.
Securely share your Square keys
The last field that is needed is a “Secret key”, which you can find on the API keys page. Under the “Standard keys” section, you will see a ” Secret key” row. You should note down thetoken field for the Secret key.
Once collected, use the Tight API to configure your Square integration.
Connect your user’s Square accounts
There are three primary ways to connect your users’ Square accounts to their company in Tight:- For partners including commerce platform linkage from their own UX, use the Start Square Flow API which wraps the entire OAuth 2.0 flow such that you simply need to redirect your user to a single URL.
- Tight’s Embedded UI also provides UX from which users can kick off the Square connection flow, e.g. when onboarding in the Transaction Dashboard
- For partners with existing Square integrations, programmatically link the user’s Square account