Expand description
§Quick Oxibooks Library
Quick Oxibooks is a comprehensive Rust library for interacting with the QuickBooks Online API.
It provides a strongly-typed, rate-limited, and feature-rich interface for performing CRUD operations,
batch processing, and generating reports with QuickBooks data.
§Key Features
- Complete CRUD Operations: Create, read, update, delete, and query
QuickBooksentities - Batch Processing: Execute multiple operations in a single API call for improved performance
- Rate Limiting: Built-in rate limiting to respect
QuickBooksAPI limits - Strong Typing: All
QuickBooksentities are strongly typed with validation - PDF Generation: Generate PDFs for supported entities (invoices, estimates, etc.)
- Attachment Support: Upload and manage file attachments
- Report Generation: Access
QuickBooksfinancial reports (P&L, Balance Sheet, etc.) - Macro Support: Convenient macros for building queries
§Quick Start
use quick_oxibooks::{QBContext, Environment};
use quickbooks_types::{Customer, Invoice};
use quick_oxibooks::functions::{create::QBCreate, query::QBQuery, read::QBRead};
use ureq::Agent;
// Create a QuickBooks context
let client = Agent::new_with_defaults();
let qb_context = QBContext::new(
Environment::SANDBOX,
"your_company_id".to_string(),
"your_access_token".to_string(),
&client
).unwrap();
// Create a new customer
let mut customer = Customer::default();
customer.display_name = Some("John Doe".to_string());
let created_customer = customer.create(&qb_context, &client).unwrap();
// Query for invoices
let invoices = Invoice::query("WHERE TotalAmt > '100.00'", Some(10), &qb_context, &client).unwrap();
// Read a specific invoice by ID
let invoice = Invoice::query_single("WHERE Id = '123'", &qb_context, &client).unwrap();§Features
attachments: Enables file attachment upload and management functionspdf: Enables PDF generation for supportedQuickBooksentitiesmacros: Enables convenient query-building macrospolars: Enables integration with thepolarsDataFramelibrary for data analysislogging: Enables detailed logging of API requests and responses
For more detailed usage examples, refer to the documentation for each module and type.
Re-exports§
pub use client::QBContext;
Modules§
- batch
QuickBooksOnline Batch Request Module- client
QuickBooksOnline API Client- error
- Error types for
QuickBooksAPI operations. - functions
- Module for
QuickBooksAPI functions - types
- Re-exports of all types from the
quickbooks_typescrate.
Structs§
- Discovery
Doc - OAuth 2.0 discovery document for
QuickBooksAPI.
Enums§
- Environment
- Represents the
QuickBooksAPI environment.
Type Aliases§
- APIResult
- The result type used throughout the library for operations that may fail.