Programa’s QuickBooks integration is designed to keep your accounting records aligned with your billing activity - without manual data entry. This guide explains what syncs, how it syncs, and what doesn’t.
💡Important: This is a one-way sync from Programa to QuickBooks, triggered automatically when invoices are created or updated. Any updates made directly in QuickBooks won’t be reflected back in Programa.
What Data Gets Synced?
1. Invoices
When you create an invoice in Programa, the following details are sent to QuickBooks:
Invoice number (from Stripe)
Date it was created
Due date
Linked customer in QuickBooks
Tax settings (based on your project setup)
Programa Field | QuickBooks Field | Notes |
Invoice number (from Stripe) | Invoice number | Pulled directly from Stripe |
Transaction date | Invoice date | Date the invoice was created |
Due date | Due date | Set in Programa |
Client details | Linked customer | Creates or matches customer in QuickBooks based on the Address Book’s company name in Programa |
Tax preferences | Tax-inclusive/exclusive setting | Based on project settings in Programa (automatically set for tax-inclusive projects) |
Tax details vary by region:
US: Total tax + a single tax code per project
Outside US: Total tax + detailed breakdown by rate
2. Line Items (Products & Services)
Each item on the invoice includes:
Description (up to 100 characters)
Quantity and unit price (excluding tax)
Total amount (excluding tax)
Linked product/service in QuickBooks
Tax code (e.g., ‘TAX’, ‘NON’, or country-specific)
Programa Field | QuickBooks Field | Notes |
Description | Product/Service name and description | Limited to 100 characters |
Quantity | Quantity |
|
Unit price (excl. tax) | Rate | For tax-inclusive invoices, tax is removed before syncing |
Total amount (excl. tax) | Amount |
|
Product/service reference | Linked QuickBooks item | Matches or creates product/service |
Tax code | Tax code | 'TAX' or 'NON' (US), or country-specific codes elsewhere |
3. Client Details
If the customer doesn’t already exist in QuickBooks, we’ll create them using info from Programa’s AddressBook:
Company name (with “Customer - ” prefix if needed)
Contact name, email, and phone number
✅ We check for existing customers by Company Name before creating a new one.
Programa Field | QuickBooks Field | Notes |
Company name | Display name | Adds “Customer - ” prefix if also a vendor |
Contact first name | First name |
|
Email address | Uses contact email, or company email if unavailable | |
Phone | Phone number | Uses contact phone, or company phone if unavailable |
4. Products & Items
New products or services on invoices are added to QuickBooks automatically:
Name (from the line item)
Type: ‘Service’ or ‘NonInventory’
Income and expense accounts (based on your setup)
Programa Field | QuickBooks Field | Notes |
Line item description | Product/Service name | Limited to 100 characters |
Type | Item type | ‘Service’ for time entries, ‘NonInventory’ for products |
Income account | Income account | Pulled from line details or default settings |
Expense account | Expense account | Pulled from line details or default settings |
What doesn’t sync?
Some things stay in Programa and don’t go to QuickBooks:
Payments and payment terms (only due date is synced)
Notes, custom fields, or attachments
Project details beyond tax info
Other Programa features like pinboards or tasks
How it works
Source: Stripe (Programa’s billing system)
Trigger: Stripe sends a signal when an invoice is created or updated
Direction: One-way only (Programa → QuickBooks)
Actions: Create, update, and delete invoices
To keep in mind:
Remember: This is a one-way sync from Programa to QuickBooks
What syncs: Invoices, line items, and automatically creates customers and products as needed
What doesn't sync: Payments, custom fields, attachments, and most project details
Timing: Syncs happen automatically via Stripe webhooks (background processing)
Troubleshooting: Check the invoice's sync error messages if customers report issues
The integration is designed to keep QuickBooks accounting records aligned with Programa's billing system without requiring manual data entry.
