Another Quickbooks

Flutter package for Quickbooks. Includes supports for both Payments and Accounting APIs as well as authorization flow.

Quickbooks Payments

FeatureSupportedURL
Bank AccountsYhttps://developer.intuit.com/app/developer/qbpayments/docs/api/resources/all-entities/bankaccounts
CardsYhttps://developer.intuit.com/app/developer/qbpayments/docs/api/resources/all-entities/cards
ChargesYhttps://developer.intuit.com/app/developer/qbpayments/docs/api/resources/all-entities/charges
EChecksYhttps://developer.intuit.com/app/developer/qbpayments/docs/api/resources/all-entities/echecks
TokenYhttps://developer.intuit.com/app/developer/qbpayments/docs/api/resources/all-entities/tokens

Quickbooks Accounting

FeatureSupportedURL
AccountsYhttps://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/account
BillYhttps://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/bill
Company InfoYhttps://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/companyinfo
CustomerYhttps://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/customer
EmployeeYhttps://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/employee
EstimateYhttps://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/estimate
InvoiceYhttps://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/invoice
ItemYhttps://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/item
PaymentYhttps://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/payment
PreferencesYhttps://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/preferences
Profit And LossYhttps://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/profitandloss
Tax AgencyYhttps://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/taxagency
VendorYhttps://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/vendor

TODO: List prerequisites and provide or point to information on how to start using the package.

Credentials

In order to interact with Quickbooks you'll need a developer account and the clientId and clientSecret https://developer.intuit.com/app/developer/dashboard

final quickClient = QuickbooksClient(
        applicationId: applicationId,
        clientId: clientId,
        clientSecret: clientSecret);
// Initialize the client.        
await quickClient.initialize();

// Use this to prompt the user to authorize your app
var authUrl = quickClient.getAuthorizationPageUrl(
        scopes: [Scope.Accounting, Scope.Payments],         
        redirectUrl: <your redirect url>, 
        state: "state123")

// On authorization success use the params to get the access token.
var autoToken = quickClient.getAuthToken(
        code: <code from redirect url>,
        realmId: <real from redirect url>
        redirectUrl: <redirect url>);
        
// Note: The token can be refreshed when it expires using the refreshToken
String token = (await quickClient.refreshToken(
        refreshToken: autoToken.refresh_token
    )).access_token

Quickbooks Developer Docs

https://developer.intuit.com/app/developer/qbo/docs/develop

Brother Hackathon

Feel free to use any of my GitHub repositories in your apps. You should also consider attending the free Brother Hackathon happening this year. You get a free Brother QL-1110NWB, a PT-P910BT, and possibly an awesome DS-940DW mobile scanner. Visit brotherhackathon.com for more information. I will be teaching workshops, and they are free. You can ask me any questions. Thank you.

Libraries

account_service
URL: https://developer.intuit.com/app/developer/qbo/docs/api/accounting/most-commonly-used/account Accounts are what businesses use to track transactions. Accounts can track money coming in (income or revenue) and going out (expenses). They can also track the value of things (assets), like vehicles and equipment. There are five basic account types: asset, liability, income, expense, and equity. Accounts are part of the chart of accounts, the unique list of accounts each business puts together to do their accounting. Accountants often call accounts "ledgers". Learn more about accounts and the chart of accounts. The account object is what you'll use to do actions with the end-users accounts. Note: If you need to delete an account, set the Active attribute to false in an object update request. This makes it inactive. The account itself isn't permanently deleted, but is hidden for display purposes. References to inactive objects remain intact.
another_quickbooks
authentication_service
bank_accounts_service
bill_service
card_service
charge_service
company_info_service
customer_service
discovery_service
echeck_service
employee_service
estimate_service
invoice_service
item_service
payment_service
preferences_service
profit_loss_service
quickbook_models
tax_agency_service
token_service
vendor_service