Skip to main content

waccy-quickbooks

WACCY extension for QuickBooks Online integration.

Status

This package provides fixture-first QuickBooks/QBO-shaped extraction, the entry point for ExtractorRegistry discovery, and a small typed live-pull helper for OAuth-backed QBO reports. The live helper intentionally returns raw QBO JSON; WACCY's model-building contract still begins after source data is normalized into WACCY records. The v0.1.0 work is tracked in:

Installation

uv pip install waccy-quickbooks

Or install with the core platform:

uv pip install "waccy[quickbooks]"

Fixture Usage

from waccy.extraction import ExtractorRegistry

registry = ExtractorRegistry()
extractor = registry.get_extractor("qbo")()
print(extractor.name)

Live QBO Report Pull

Use Intuit OAuth to create or refresh a token, then pull raw company info, chart of accounts, and reports. Store the token cache in a caller-owned path; do not commit it.

from datetime import date

from waccy_quickbooks import (
    FileTokenCache,
    QuickBooksApiClient,
    QuickBooksOAuthConfig,
)

config = QuickBooksOAuthConfig(
    client_id="...",
    client_secret="...",
    redirect_uri="http://localhost:8765/callback",
    environment="sandbox",
)
cache = FileTokenCache("~/.waccy/qbo-token.json")
client = QuickBooksApiClient.from_token_cache(cache, config)

pull = client.pull_financial_reports(
    start_date=date(2024, 1, 1),
    end_date=date(2024, 12, 31),
)

The returned QuickBooksReportPull carries raw CompanyInfo, Account, ProfitAndLoss, BalanceSheet, and CashFlow payloads. Convert that raw pull into WACCY source records with the report normalizer:

from waccy_quickbooks import QuickBooksExtractor, QuickBooksReportNormalizer

fixture = QuickBooksReportNormalizer().to_fixture(pull)
extracted = QuickBooksExtractor().extract({"fixture": fixture})

The normalizer preserves QBO report provenance in record metadata, detects NoReportData reports, and emits source-completeness diagnostics for missing required statements. Keep live pull artifacts and token caches out of git. Use sanitized raw fixtures for repeatable CI/local smoke tests.

Development

This package is part of the WACCY monorepo. See the main README for development setup.

Metadata

Release files for waccy-quickbooks 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for waccy-quickbooks 0.1.1
File Size Uploaded
waccy_quickbooks-0.1.1.tar.gz 10.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for waccy-quickbooks 0.1.1
File Interpreter ABI Platform
waccy_quickbooks-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 23.3 kB

Release files / waccy_quickbooks-0.1.1.tar.gz

Download URL waccy_quickbooks-0.1.1.tar.gz
Size 10.4 kB
Tags Source
SHA-256 checksum
How to use checksums
86991bd11e2e16c72658f518394937e8b175b9760a9ec6369120a5827082d03a
BLAKE2b-256 checksum
How to use checksums
84e99f4be2e659e04bb05e8302447d160334cac9492f18e00333492d69fb73ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / waccy_quickbooks-0.1.1-py3-none-any.whl

Download URL waccy_quickbooks-0.1.1-py3-none-any.whl
Size 12.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
60c39c076ed4a1683648aa2f4ba4924bef7015119887cecf0c7168910d2ed54f
BLAKE2b-256 checksum
How to use checksums
ad16bec2180e6ef4b781875794677afc31518a7e7f57060b2f2fed529aad9a24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page