Skip to main content

How Programa syncs with QuickBooks

Understand what syncs, how it works, and what to expect when using the QuickBooks integration.

Written by Mariana Moraes

Programa's QuickBooks integration keeps your accounting records aligned with your billing activity without manual data entry. This guide explains what syncs, how it works, and what stays in Programa only.


When do Invoices Sync?

Programa only syncs invoices to QuickBooks once they reach Issued or Sent status. Invoices in Draft status are not synced by default.

This is by design. QuickBooks Online does not have a concept of draft invoices — any invoice synced to QuickBooks is treated as a live document and posts directly to your ledger. Syncing drafts would create unintended accounting entries before an invoice is ready to be issued to a client.

Invoice status in Programa

Syncs to QuickBooks (default)

Draft

No

Issued

Yes

Sent

Yes

Want to sync draft invoices?
This can be enabled in your QuickBooks integration settings via Settings > Integrations > QuickBooks Settings > Sync draft invoices. Please read the warnings carefully before enabling this option, and consult your bookkeeper if you're unsure.


What Data Gets Synced

Invoices

When an invoice in Programa reaches Issued or Sent status, the following details are synced to QuickBooks:

  • Invoice number

  • Transaction date (when the invoice was created)

  • Due date (set in Programa)

  • Linked customer in QuickBooks

  • Tax settings (based on your project setup)

  • Project address- becomes the shipping address on the invoice in quickbooks

Tax details vary by region:

  • US: Total tax + a single tax code per project

  • Outside US: Total tax + detailed breakdown by rate

Line Items

Each item on the invoice includes:

  • Description (up to 100 characters)

  • Quantity and unit price (excluding tax)

  • Total amount (excluding tax)

  • Standard Programa category in QuickBooks (based on item type - see Products & Services below)

  • Tax code (e.g., 'TAX', 'NON', or country-specific codes)

Note: For tax-inclusive invoices, tax is removed before syncing to show the base amount.

Client Details

If the customer doesn't exist in QuickBooks, Programa creates them using information from your Address Book:

  • Company name (with "Customer - " prefix if the company is also a vendor)

  • Contact name, email, and phone number

Programa checks for existing customers by company name before creating new ones.

Products & Services

Rather than creating an individual named product in QuickBooks for each line item, Programa maps each item to one of four standard categories based on its type:

  • Programa Sales of Product Income — product line items from schedules

  • Programa Income from services — service and time entry line items (time entries are automatically categorised here)

  • Programa Generic Income — custom line items

  • Programa Discount Income — discounts applied to invoices

The income accounts configured in your QuickBooks settings are assigned to each category by default. To use a different account for a specific line item, you can override it directly on that line when creating your invoice in Programa.


What Doesn't Sync

Some information stays in Programa only:

  • Payments and payment terms (only due date syncs)

  • Notes, custom fields, or attachments

  • Project details beyond tax information

  • Programa-specific features like pinboards or tasks

  • Draft invoices (by default — invoices only sync once they reach Issued or Sent status. See [When Do Invoices Sync?] above.)


How the Sync Works

The integration operates automatically in the background:

  • Source: Stripe (Programa's billing system)

  • Trigger: Stripe sends a signal when an invoice's status changes to Issued or Sent (draft invoices do not trigger a sync by default)

  • Direction: One-way only (Programa → QuickBooks)

  • Actions: Creates, updates, and deletes invoices

Troubleshooting tip: If a customer reports sync issues, check the invoice's sync error messages in Programa for specific details.


Key Takeaways

  • The sync is one-way only from Programa to QuickBooks

  • Invoices (in Issued or Sent status), line items, customers, and products sync automatically

  • Payments, custom fields, and attachments don't sync

  • Syncing happens automatically via Stripe webhooks (background processing)


Need more help with the QuickBooks integration? Contact our support team via live chat for personalized assistance.

Did this answer your question?