Personal bookkeeper

NijemTech books, visible throughout

Settings

Connect read-only sources, then promote autonomy per action type as the track record earns it.

QuickBooks Online
Official Accounting API, OAuth2, scope com.intuit.quickbooks.accounting, used read-only. Production keys require Intuit’s app-assessment questionnaire — sandbox keys work for development without that step.

Status: mock app registered sandbox keys

Sandbox keys only attach a sandbox company

If Intuit says “There is no sandbox companies found for the user,” the OAuth hop worked — Tommy’s Intuit login just has no sandbox. Development Client IDs cannot attach the live NijemTech company. Create a sandbox at Intuit Developer → Sandbox, then Connect again with the same Intuit user. If the consent screen names a different product (for example Telegram), those keys belong to that app — use a QuickBooks Online Accounting app instead. Real books need Production Client ID/Secret plus QBO_ENVIRONMENT=production after the assessment.

  1. Create an app at developer.intuit.com and select the QuickBooks Online Accounting scope.
  2. Add redirect URI https://aibooks.nijemtech.com/api/qbo/callback
  3. Put Client ID / Secret in /opt/aibooks/.env. Sandbox first; production after assessment.
  4. Connect a sandbox company first. Switch to production keys before connecting NijemTech live.
Intuit production keys (verified)
Intuit still requires the App Assessment Questionnaire for production credentials — including this private, unlisted NijemTech app. There is no App Store listing review. Paste these URLs into the app’s Production → App details, then start the questionnaire under Production → Compliance.
Host domainaibooks.nijemtech.com

After approval, turn on Show Credentials, put the Production Client ID/Secret in /opt/aibooks/.env, set QBO_ENVIRONMENT=production, recreate app and worker, then Connect the NijemTech company.

Gmail
Read-only ingest of accountant and related threads. Send scope comes later with L3.

Status: mock using mock inbox

Redirect URI https://aibooks.nijemtech.com/api/gmail/callback. Google’s consent screen also needs the privacy policy.

Google Drive
Read statements and exports; store close packages locally until report-send is promoted. Same Google OAuth client as Gmail, with Drive scopes.

Status: mock using mock folder

Redirect URI https://aibooks.nijemtech.com/api/drive/callback

Per-type autonomy
L0 Observe · L1 Assist · L2 Auto-match · L3 Auto-send routine · L4 Supervised autonomy

Email draft

L0 Observe

Track record: 0 approved / 0 rejected of 4 proposed (0% agreement)

Email send

L0 Observe

Track record: 0 approved / 0 rejected of 0 proposed

Report send

L0 Observe

Track record: 0 approved / 0 rejected of 1 proposed (0% agreement)

QuickBooks write

L0 Observe

Track record: 0 approved / 0 rejected of 9 proposed (0% agreement)

Categorize

L0 Observe

Track record: 0 approved / 0 rejected of 1 proposed (0% agreement)

Match

L0 Observe

Track record: 0 approved / 0 rejected of 9 proposed (0% agreement)