Skip to main content

QuickBooks Connector

Overview

The QuickBooks Connector integrates SureInk with QuickBooks Online (QBO) to automate financial workflows. It primarily focuses on ensuring that billing and payment activity in SureInk is reflected accurately in the customer's accounting system.

Data Synchronization Flow

  • Customer Data: SureInk Customer profiles are mapped to QBO Customer records to ensure invoices are attributed correctly.
  • Product/Item Data: SureInk Products and Services are synced to QBO Items.
  • Financial Data: When an order is completed in SureInk, the connector generates Invoices and Payments in QuickBooks.

Connector Sync Actions

DirectionEntity Sync'dSummaryTriggerPrimary Code Modules
OutboundCustomerQBO CustomerMaps SureInk Customers to QBO records for invoicing.Automatic / On-DemandQuickbooksCustomerClient.java
OutboundOrderQBO InvoiceGenerates QBO Invoices based on closed orders in SureInk.Automatic (Order Close)QuickbooksInvoiceClient.java
OutboundPaymentQBO PaymentRecords payments against QBO invoices.Automatic (Payment Recv)QuickbooksPaymentClient.java

Major Code Modules (com.sureink.connector.external.quickbooks)

  • controller: Handles OAuth2 callbacks (QBCallbackController) and manual settings management.
  • service.customer: Logic for maintaining customer parity between systems.
  • service.invoice: Automatic generation of QBO Invoices from SureInk order data.
  • service.payment: Recording payments received in SureInk within the QBO ledger.
  • QBOAuth2PlatformClientFactory: Factory for initializing the Intuit SDK with platform-specific credentials.

Linkages and References

  • Parent Service: Part of the sureink-connector microservice.
  • Internal Clients: Uses sureink-cloud-msa to listen for completed order events.
  • Configuration: Environment variables define the QUICKBOOKS_CLIENT_ID and QUICKBOOKS_CLIENT_SECRET.

External References

Glossary

  • DTO: Data Transfer Object - An object that carries data between processes.
  • MSA: Master Subscription Agreement - The primary contract governing the relationship between the platform provider and the subscriber.
  • OAuth2: Open Authorization 2.0 - An industry-standard protocol for authorization.
  • QBO: QuickBooks Online - A cloud-based accounting software package developed by Intuit.
  • REST: Representational State Transfer - An architectural style for providing standards between computer systems on the web.
  • SDK: Software Development Kit - A collection of software development tools in one installable package.
  • UI: User Interface - The space where interactions between humans and machines occur.