Connect Busy Accounting

Busy stores its data in a local Microsoft SQL Server instance (usually SQLEXPRESS). OneAnalytics connects with a dedicated read-only SQL login, routed through our gateway agent for mTLS and egress isolation.

1. Enable TCP/IP on SQL Server

Busy's default install uses Named Pipes only. Enable TCP/IP:

  1. SQL Server Configuration ManagerSQL Server Network ConfigurationProtocols for SQLEXPRESS.
  2. Enable TCP/IP.
  3. Double-click TCP/IPIP Addresses tab → IPAll → set TCP Port to 1433 (blank out TCP Dynamic Ports).
  4. Restart the SQL Server (SQLEXPRESS) service.

2. Create a read-only login

Open SQL Server Management Studio (or sqlcmd) as an admin user and run:

CREATE LOGIN oa_reader WITH PASSWORD = 'ChangeMe-Strong-1!';
USE BusyData_<YourCompany>;
CREATE USER oa_reader FOR LOGIN oa_reader;
ALTER ROLE db_datareader ADD MEMBER oa_reader;
DENY SELECT ON SCHEMA::sys TO oa_reader;

Use the exact Busy database name (Busy encodes the company name, e.g. BusyData_AcmeCorp).

3. Install the gateway agent

Same installer as the Tally guide. During setup, pick Busy / MSSQL as the source type and provide:

  • Server: 127.0.0.1\SQLEXPRESS,1433
  • Database: BusyData_<YourCompany>
  • Login: oa_reader
  • Password: (from step 2)

The agent stores credentials encrypted with the Windows DPAPI; they never leave the machine.

4. Map the data

OneAnalytics reads these Busy tables:

  • Master1, Master2 — ledgers and groups
  • Voucher, VoucherDetail — transactions
  • ItemMaster, ItemGroup — inventory
  • CostCentre, Location

We bundle a Busy semantic model out of the box (dimensions: party, item, cost centre, date; measures: sales, purchase, stock value, outstanding). Load it from Source → Apply semantic template → Busy Standard v1.

Refresh cadence

Busy MSSQL databases are small (< 1 GB typical) so we default to a full import every 4 hours. For larger installations, switch to Direct mode — queries go live to SQL Server with a 60 s statement timeout.

Troubleshooting

  • "Login failed for user 'oa_reader'" — Check Mixed Mode authentication is enabled (SQL Server properties → Security → SQL Server and Windows Authentication).
  • "Connection refused on 1433" — Firewall. Add an inbound rule for TCP 1433 limited to 127.0.0.1.