ml-connector
QuickBooks DesktopJira

QuickBooks Desktop and Jira integration

QuickBooks Desktop runs accounting and vendor management on your local Windows system. Jira tracks project work and business tasks. When you bring the two together, bill data and vendor information from QuickBooks flow into Jira as tracked issues, creating a single source of truth for approval workflows and business context. ml-connector handles QuickBooks Desktop's SOAP/QBWC polling requirements and Jira's OAuth2 authentication, moving records on a schedule you control.

How QuickBooks Desktop works

QuickBooks Desktop is a Windows-only installed accounting product from Intuit. It exposes vendors, bills, invoices, accounts, customers, items, employees, and journal entries through SOAP Web Connector (QBWC). Integration requires a QBWC agent on the customer's premises that polls your remote SOAP service using a session-token handshake (username and password exchanged for a session GUID on each polling cycle). QBWC polls your endpoint on a configurable interval (minimum 1 minute, typical 5-15 minutes) and uses ModifiedDateRangeFilter to detect changes; deleted transactions are detected with TxnDeletedQueryRq. QuickBooks must be running and logged into the company file for QBWC to process requests, and EditSequence version counters must be checked before modifying any object.

How Jira works

Jira is Atlassian's REST-based issue tracking platform. It authenticates via OAuth2 authorization code flow or Basic auth (email and API token) and exposes issues, projects, users, comments, and worklogs at the REST API v3 endpoint. Jira supports webhooks for real-time event notifications including issue_created, issue_updated, and issue_deleted, though webhooks expire after 30 days and require refresh. Jira has no native vendor, invoice, purchase order, or GL account entities; it is a project management system and cannot store accounting data, so integrations are one-way notification or workflow-driven only.

What moves between them

The main flow moves from QuickBooks Desktop into Jira. When ml-connector polls your QuickBooks instance, it reads newly created and modified bills and vendors on your configured interval and creates corresponding Jira issues in your selected project. Each bill becomes an issue with vendor name, amount, and due date captured in the issue summary and custom fields, and vendors create separate tracking issues for approval and contact workflows. Jira issues are created only; they do not write back to QuickBooks accounting records, since Jira has no financial entity support.

How ml-connector handles it

ml-connector stores QuickBooks SOAP credentials and generates a new session token on each poll by calling the authenticate() SOAP method with your configured username and password, receiving a session GUID that is valid only for that polling window. For Jira, it uses your OAuth2 client credentials to obtain a bearer token and stores it encrypted until expiry. Because QuickBooks Desktop has no webhooks and requires polling via QBWC, ml-connector follows your QBWC interval configuration (typically 5-15 minutes) and queries bills and vendors with ModifiedDateRangeFilter to pick up only recent changes, reducing polling load. QBWC operates sequentially and cannot parallel-request, so ml-connector batches records into a single polling window. Jira custom field IDs are per-instance, so ml-connector accepts your field mapping configuration at setup time and uses those exact field IDs when creating issues. EditSequence handling: if a bill is modified between polling cycles, the previous EditSequence becomes invalid; ml-connector re-queries the bill before any attempted update to obtain the current sequence number. Every polled record carries a full audit trail with timestamps and modification source.

A real-world example

A mid-sized accounting firm uses QuickBooks Desktop to track client vendor bills and payables, and uses Jira to manage approval workflows and team collaboration. Before the integration, bill entry in QuickBooks and approval tracking in Jira were manual steps; bills had to be entered twice (once in accounting, once as a Jira task), and the teams had no shared visibility into approval status. With QuickBooks Desktop and Jira connected, each new bill automatically becomes a Jira issue with vendor details, amount, and due date pre-populated, and the approval workflow happens in Jira while the bill remains properly recorded in QuickBooks. The accounting team sees bill status in Jira, and the approval team has all financial context without re-keying.

What you can do

  • Create Jira issues automatically when new bills are added to QuickBooks Desktop, with vendor name, bill amount, and due date pre-filled.
  • Map QuickBooks vendors to Jira project structure so vendor bills land in the correct issue project or epic for tracking.
  • Poll QuickBooks Desktop on your configured QBWC interval (typically 5-15 minutes) to detect newly added and modified bills without manual intervention.
  • Authenticate QuickBooks Desktop via SOAP session-token handshake and Jira via OAuth2, storing both credential sets encrypted.
  • Track bill approval workflows in Jira while maintaining accurate accounting records in QuickBooks Desktop, with full audit trail on every record.

Questions

How does ml-connector authenticate with QuickBooks Desktop?
ml-connector uses your QBWC agent to call the SOAP authenticate() method, passing your username and password to receive a session GUID that is valid for that polling window only. A new session token is generated on each poll, since QuickBooks does not issue long-lived API tokens. Your credentials are stored encrypted.
Why does the integration create issues only, not update QuickBooks from Jira?
Jira is a project management system and has no native accounting entities such as invoices, purchase orders, or GL accounts. ml-connector creates issues in Jira to track business context and approval workflows, but financial updates must remain in QuickBooks Desktop; Jira cannot write back to accounting records.
How often does ml-connector poll for bill changes?
ml-connector respects your QBWC interval configuration, which typically runs every 5-15 minutes. Each poll queries for modified bills and vendors using ModifiedDateRangeFilter and creates Jira issues only for newly detected items, reducing polling load and preventing duplicate issue creation.

Related integrations

Connect QuickBooks Desktop and Jira

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started