{"id":339845,"date":"2026-07-14T00:25:17","date_gmt":"2026-07-14T00:25:17","guid":{"rendered":"https:\/\/en-au.wordpress.org\/plugins\/demfilz-sync-for-quickbooks\/"},"modified":"2026-10-18T11:44:57","modified_gmt":"2026-10-18T11:44:57","slug":"demfilz-sync-for-quickbooks","status":"publish","type":"plugin","link":"https:\/\/fa.wordpress.org\/plugins\/demfilz-sync-for-quickbooks\/","author":20035799,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.1","stable_tag":"1.2.1","tested":"7.1.3","requires":"6.2","requires_php":"7.2","requires_plugins":null,"header_name":"Demfilz Sync for QuickBooks","header_author":"Demfilz","header_description":"Send WooCommerce orders, customers and stock to QuickBooks Online via the official Intuit API. Free manual sync; Pro adds automation.","assets_banners_color":"695a9f","last_updated":"2026-10-18 11:44:57","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/demfilz.com\/demfilz-woo-to-quickbooks","header_author_uri":"https:\/\/demfilz.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":311,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.0":{"tag":"1.2.0","author":"demfilz","date":"2026-08-13 06:07:57","revision":3644269},"1.2.1":{"tag":"1.2.1","author":"demfilz","date":"2026-10-18 11:44:57","revision":3752965}},"upgrade_notice":{"1.2.1":"<p>Adds gift card and store credit support. If you use Demfilz Gift Cards and Store Credit, choose a gift card item on the Mapping tab.<\/p>","1.1.0":"<p>Adds supplier-bill sync (with Demfilz Auto Order) and connects Pro to live billing.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3606810,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3606810,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3606810,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3606810,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.0","1.2.1"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Connection tab \u2014 choose Production or Sandbox and connect to QuickBooks Online with OAuth.","2":"Mapping \u2014 pick a default product\/service item and your tax codes.","3":"The QuickBooks Sync box on an order, with the one-click Sync to QuickBooks button.","4":"The sync log of every push."}},"plugin_section":[],"plugin_tags":[2526,6601,16236,16175,286],"plugin_category":[45],"plugin_contributors":[268125],"plugin_business_model":[],"class_list":["post-339845","plugin","type-plugin","status-publish","hentry","plugin_tags-accounting","plugin_tags-inventory","plugin_tags-invoices","plugin_tags-quickbooks","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-demfilz","plugin_committers-demfilz"],"banners":{"banner":"https:\/\/ps.w.org\/demfilz-sync-for-quickbooks\/assets\/banner-772x250.png?rev=3606810","banner_2x":"https:\/\/ps.w.org\/demfilz-sync-for-quickbooks\/assets\/banner-1544x500.png?rev=3606810","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/demfilz-sync-for-quickbooks\/assets\/icon-128x128.png?rev=3606810","icon_2x":"https:\/\/ps.w.org\/demfilz-sync-for-quickbooks\/assets\/icon-256x256.png?rev=3606810","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Demfilz Sync for QuickBooks connects your WooCommerce store to your QuickBooks Online company so you stop re-keying sales. It uses the official Intuit QuickBooks Online Accounting API with secure OAuth 2.0.<\/p>\n\n<p><strong>Free features<\/strong><\/p>\n\n<ul>\n<li>One-click OAuth connection to your QuickBooks Online company<\/li>\n<li>Push a WooCommerce order to QuickBooks as a sale (Invoice \/ Sales Receipt \/ Estimate) with a button on the order screen<\/li>\n<li>Create or match the customer in QuickBooks automatically (matched by display name)<\/li>\n<li>Map a default product\/service item and tax codes<\/li>\n<li>Pull current stock-on-hand from QuickBooks for a product (button on the product screen)<\/li>\n<li>Sync log of every attempt<\/li>\n<\/ul>\n\n<p><strong>Pro features (A$19.95\/month)<\/strong><\/p>\n\n<ul>\n<li>Automatic order sync when an order reaches a chosen status<\/li>\n<li>Bulk \/ historical order backfill<\/li>\n<li>Scheduled inventory sync across all products<\/li>\n<li>Refunds \/ credit memos to QuickBooks<\/li>\n<li>Per-product \/ per-tax-class tax mapping<\/li>\n<li>Auto-retry of failed syncs with email alerts<\/li>\n<li>Multiple stores \/ companies<\/li>\n<li>Supplier purchases: when the Demfilz Auto Order plugin emails a supplier a purchase order, create a matching Purchase Order (at cost) in QuickBooks<\/li>\n<\/ul>\n\n<p>Pro is delivered as a separate add-on plugin after subscribing at https:\/\/demfilz.com\/woo-to-quickbooks<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to external services. It sends data only when you explicitly connect and sync.<\/p>\n\n<ol>\n<li><strong>Intuit QuickBooks Online API<\/strong> (https:\/\/quickbooks.api.intuit.com, https:\/\/sandbox-quickbooks.api.intuit.com, https:\/\/appcenter.intuit.com, https:\/\/oauth.platform.intuit.com and https:\/\/developer.api.intuit.com)\n\n<ul>\n<li>Purpose: authenticate (OAuth 2.0) and read\/write your accounting data.<\/li>\n<li>Data sent: your store's order details (customer name, billing address, email, phone, line items, totals, tax), product SKUs, and your Intuit developer-app credentials\/tokens.<\/li>\n<li>When: when you connect, push an order, or pull stock.<\/li>\n<li>Terms: https:\/\/www.intuit.com\/legal\/terms \u2014 Privacy: https:\/\/www.intuit.com\/privacy<\/li>\n<\/ul><\/li>\n<\/ol>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin (WooCommerce must be active).<\/li>\n<li>Go to <strong>WooCommerce \u2192 QuickBooks Sync<\/strong>.<\/li>\n<li>Create an app in the Intuit developer portal and paste the Client ID and Client Secret, using the redirect URI shown on the Connection tab. Choose Production or Sandbox.<\/li>\n<li>Click <strong>Save &amp; Connect to QuickBooks<\/strong>, approve access, then return to the Mapping tab.<\/li>\n<li>Set your default product\/service item and tax codes on the Mapping tab.<\/li>\n<li>Open any order and click <strong>Sync to QuickBooks<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20work%20with%20quickbooks%20online%3F\"><h3>Does it work with QuickBooks Online?<\/h3><\/dt>\n<dd><p>Yes. This integrates with QuickBooks Online via the Intuit API. QuickBooks Desktop is not supported.<\/p><\/dd>\n<dt id=\"is%20the%20free%20version%20time-limited%3F\"><h3>Is the free version time-limited?<\/h3><\/dt>\n<dd><p>No. Manual order, customer and stock sync are free forever. Pro adds automation and scale.<\/p><\/dd>\n<dt id=\"why%20do%20i%20need%20to%20choose%20a%20default%20item%3F\"><h3>Why do I need to choose a default item?<\/h3><\/dt>\n<dd><p>QuickBooks requires every sale line to reference a product\/service item. Order line descriptions and amounts are posted against the item you choose.<\/p><\/dd>\n<dt id=\"where%20is%20my%20data%20stored%3F\"><h3>Where is my data stored?<\/h3><\/dt>\n<dd><p>OAuth tokens are stored encrypted in your WordPress database. Order data is only sent to QuickBooks when you sync.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20paid%20licence%20to%20use%20it%3F\"><h3>Do I need a paid licence to use it?<\/h3><\/dt>\n<dd><p>No. The free version handles connecting, pushing an order, customer sync and stock pull. You only need a QuickBooks Online company to connect to (a free trial or the Intuit sandbox company works). Pro is an optional separate add-on that unlocks automation.<\/p><\/dd>\n<dt id=\"does%20it%20handle%20gift%20cards%20and%20store%20credit%3F\"><h3>Does it handle gift cards and store credit?<\/h3><\/dt>\n<dd><p>Yes, with Demfilz Gift Cards and Store Credit for WooCommerce. A gift card is a payment, not a discount. In QuickBooks, create a Non-inventory or Service item called \"Gift card\" whose income account is a liability account (for example \"Gift card liability\"), then choose it on the Mapping tab with a tax code that has no tax. Gift cards sold post to that item instead of income. When an order is paid partly by gift card or store credit, the sale keeps every product and shipping line with its tax, and the amount paid by card is a negative line for the gift card item, so the sale total matches what the customer paid at checkout. Until the item is chosen, orders that use gift cards are not synced and the log says why.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>New: gift card and store credit support for Demfilz Gift Cards and Store Credit for WooCommerce. Gift cards sold post to a gift card item whose account is a liability, and amounts paid by gift card or store credit post as a negative line for that item, so revenue and tax stay complete and the sale total matches the order total. Choose the item on the Mapping tab. Developers can report another gift card plugin's payments with the dwtq_gift_card_payments filter.<\/li>\n<li>A gift card sold below its value (on sale or with a coupon) posts its full value to the gift card account and the difference as a discount on income, so the account always holds what customers can spend.<\/li>\n<li>Fix: order fees (for example a payment surcharge) are now synced as lines on the default item with the default tax code, so an order with a fee no longer syncs below its order total. Negative (discount-style) fees post as negative lines.<\/li>\n<li>QuickBooks rate limits (429): a throttled request now waits for the time QuickBooks asks for and tries again, up to twice (up to 60 seconds in background jobs, 10 seconds when you click a button), then shows a clear \"wait and try again\" message instead of a raw API error.<\/li>\n<li>Stock can now be read for the whole catalogue from one paginated QuickBooks item list instead of one request per product (used by the Pro scheduled stock sync), which keeps large catalogues under the QuickBooks request limit.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Compliance: the free plugin no longer contains any licensing or premium code. The Pro licence client, the licence screen and all premium API calls now live entirely in the separate Pro add-on. The free plugin only defines extension hooks.<\/li>\n<li>Removed the Demfilz licensing service from the free plugin's external-service usage (it is only contacted by the Pro add-on).<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Fix: duplicate invoices are now prevented even when the stored reference is missing or two syncs run close together \u2014 before creating a sale, the plugin checks QuickBooks for an existing invoice with the same order number and updates it instead.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Pro: supplier purchases now create a QuickBooks <strong>Purchase Order<\/strong> (the 1:1 mirror of the emailed PO) instead of a Bill.<\/li>\n<li>Pro: the purchase-sync path now logs a clear reason in the sync log when it is enabled but cannot post (licence, account or line-item issues), instead of failing silently.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Fix: re-syncing an order now updates the existing QuickBooks invoice instead of creating a duplicate (a new invoice's SyncToken of \"0\" was being misread as \"not found\").<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Pro: post a QuickBooks vendor Bill (at cost) when the Demfilz Auto Order plugin emails a supplier purchase order.<\/li>\n<li>Added QuickBooks Vendor, Bill and expense-account API support (used by Pro).<\/li>\n<li>Pro subscriptions are now validated through the Demfilz billing service, and \"Get Pro\" links to live checkout.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix: \"Save &amp; Connect to QuickBooks\" now correctly redirects to the Intuit consent screen (the off-site OAuth redirect was being blocked).<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: OAuth connection to QuickBooks Online, manual order push, customer sync, manual stock pull, mapping, logs, Pro licence framework.<\/li>\n<\/ul>","raw_excerpt":"Send WooCommerce orders, customers and stock to QuickBooks Online via the official Intuit API. Free manual sync; Pro adds automation.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/339845","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=339845"}],"author":[{"embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/demfilz"}],"wp:attachment":[{"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=339845"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=339845"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=339845"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=339845"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=339845"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/fa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=339845"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}