Accounting Integrations

Connect StockCraft directly to your accounting platform and push sales revenue, expenses, and cost of goods automatically. Available on the Plus plan ($5/month).

Plus Plan Required: Accounting integrations are available exclusively on the Plus plan. Free-tier users can upgrade here to unlock direct connections to Xero, QuickBooks Online, and MYOB Business.

Supported Providers

Xero

Cloud accounting for small businesses. OAuth 2.0 with PKCE security.

QuickBooks Online

Popular accounting solution by Intuit. Real-time sync with optimistic concurrency.

MYOB Business

Australian/NZ accounting platform. Multi-company file support.

Connecting a Provider

Each provider uses the industry-standard OAuth 2.0 authorization flow. You never share your accounting password with StockCraft β€” instead, you grant permission directly through the provider's own login page.

Step-by-Step: Connect Xero

  1. Navigate to Finances β†’ API Connections in StockCraft
  2. Find the Xero card and click "Connect"
  3. You'll be redirected to Xero's login page β€” sign in with your Xero credentials
  4. Grant StockCraft permission to access your Xero organisation
  5. Xero redirects you back to StockCraft β€” the connection is now active
Security Note: Xero uses PKCE (Proof Key for Code Exchange) for additional security during the connection process. All tokens are encrypted at rest using KMS envelope encryption.

Step-by-Step: Connect QuickBooks Online

  1. Navigate to Finances β†’ API Connections in StockCraft
  2. Find the QuickBooks Online card and click "Connect"
  3. You'll be redirected to Intuit's login page β€” sign in with your QuickBooks credentials
  4. Select the company you want to connect and grant access
  5. QuickBooks redirects you back to StockCraft β€” the connection is now active

Step-by-Step: Connect MYOB Business

  1. Navigate to Finances β†’ API Connections in StockCraft
  2. Find the MYOB Business card and click "Connect"
  3. You'll be redirected to MYOB's login page β€” sign in with your MYOB credentials
  4. Grant StockCraft permission to access your MYOB company files
  5. If you have multiple company files, select which one to sync with
  6. MYOB redirects you back to StockCraft β€” the connection is now active
MYOB Administrator Requirement: As of March 2026, MYOB requires that only Administrator-level users can approve OAuth connections. Ensure the person completing the authorisation step has MYOB Administrator access.

Configuring the Sync Date Range

Before triggering a sync, configure how far back StockCraft should push financial data. This prevents duplicating historical records that already exist in your accounting software.

  1. On the connected provider card, locate the Sync Date Range section
  2. Set a Start Date β€” only transactions on or after this date will be pushed
  3. Optionally set an End Date β€” if left empty, StockCraft syncs up to the current date
  4. Click "Save" to apply the date range
Tip: Set the start date to when you began using StockCraft, or to the first day of your current financial year. This avoids pushing transactions that are already recorded in your accounting platform.
Validation: The start date cannot be set to a future date. If you attempt to save a future start date, you'll receive a validation error.

Triggering a Manual Sync

Syncs are triggered manually β€” you control when data is pushed to your accounting platform.

  1. Navigate to Finances β†’ API Connections
  2. On the connected provider card, click "Sync Now"
  3. StockCraft queues the sync job and displays a confirmation
  4. The sync runs in the background β€” completed orders and expenses within your configured date range are pushed to the provider
  5. Once complete, the sync status and record counts appear on the provider card

What Gets Pushed

Partial Failures

If some records fail to push (for example, due to a provider API error), StockCraft continues pushing the remaining records. The sync result will show as Partial Failure with a count of failed records and an error summary.

Reading Sync History

Each connected provider displays the 20 most recent sync attempts, ordered newest first. Each sync record includes:

Retention: Sync history is retained for a minimum of 90 days before records are automatically removed.

Troubleshooting Re-Authorisation

Occasionally, a connection may require re-authorisation. This happens when:

How to Re-Authorise

  1. Navigate to Finances β†’ API Connections
  2. The affected provider card will show a "Requires Re-authorisation" status badge
  3. Click the "Re-connect" button
  4. Complete the OAuth flow again (sign in to the provider and grant access)
  5. Once reconnected, syncs will resume normally

MYOB Re-Authorisation

For MYOB connections, re-authorisation must be completed by a user with MYOB Administrator-level access. If you see a re-authorisation prompt, ensure the correct MYOB Administrator user completes the sign-in step.

Common Issues

Symptom Likely Cause Solution
"Requires Re-authorisation" badge appears Refresh token expired or revoked Click "Re-connect" and complete the OAuth flow
Sync fails with 409 error A sync is already in progress Wait for the current sync to finish, then try again
Partial failure with some records failed Provider API rejected individual records Check error summary for details; correct data and re-sync
Cannot connect β€” 403 error Account is on Free tier Upgrade to Plus to access accounting integrations
Sync shows 0 records pushed No transactions in the configured date range Adjust the sync start/end dates to cover the desired period

Disconnecting a Provider

To remove a connection:

  1. Navigate to Finances β†’ API Connections
  2. On the connected provider card, click "Disconnect"
  3. Confirm the disconnection in the dialog
  4. StockCraft revokes the OAuth token with the provider (where supported) and removes the connection
Note: Disconnecting does not remove data that has already been pushed to your accounting platform. It only stops future syncs.

Security

Support

Need help with accounting integrations?