{"id":322715,"date":"2026-06-10T10:33:50","date_gmt":"2026-06-10T10:33:50","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ledgerport\/"},"modified":"2026-06-10T10:33:35","modified_gmt":"2026-06-10T10:33:35","slug":"ledgerport","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/ledgerport\/","author":23510728,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"LedgerPort","header_author":"LedgerPort","header_description":"Sync WooCommerce orders, products, customers, and payouts to QuickBooks Online in real time. HPOS-native. Built for multi-business setups.","assets_banners_color":"335647","last_updated":"2026-06-10 10:33:35","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/ledgerport.com\/","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":43,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"ledgerport","date":"2026-06-10 10:33:35"}},"upgrade_notice":{"1.0.0":"<p>First public release. Connect WooCommerce to QuickBooks Online via LedgerPort.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3567230,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3567230,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3567230,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3567230,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3567230,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"The setup wizard walks you through connecting WooCommerce to LedgerPort and QuickBooks Online.","2":"Explicit consent before any resources are created on your store.","3":"The Dashboard shows sync status, recent activity, and connection health.","4":"Map your WooCommerce products and accounts to your QuickBooks chart of accounts.","5":"Trigger a one-time sync of recent orders, products, or customers to QuickBooks.","6":"Every sync action is logged for review and troubleshooting.","7":"Drill into individual sync events with full request and response visibility.","8":"Plugin status checks integrate with WordPress Site Health."}},"plugin_section":[],"plugin_tags":[2526,2525,251374,16175,286],"plugin_category":[45],"plugin_contributors":[266472,174968,77612],"plugin_business_model":[],"class_list":["post-322715","plugin","type-plugin","status-publish","hentry","plugin_tags-accounting","plugin_tags-bookkeeping","plugin_tags-hpos","plugin_tags-quickbooks","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-ledgerport","plugin_contributors-pushengage","plugin_contributors-smub","plugin_committers-ledgerport"],"banners":{"banner":"https:\/\/ps.w.org\/ledgerport\/assets\/banner-772x250.png?rev=3567230","banner_2x":"https:\/\/ps.w.org\/ledgerport\/assets\/banner-1544x500.png?rev=3567230","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/ledgerport\/assets\/icon.svg?rev=3567230","icon":"https:\/\/ps.w.org\/ledgerport\/assets\/icon.svg?rev=3567230","icon_2x":false,"generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<h4>Automate E-commerce Accounting<\/h4>\n\n<p>Every month, the same scene plays out. You export a payout report from WooCommerce or Stripe, open QuickBooks Online, and stare at two numbers that should match. They don't. Payouts arrive as net disbursements: gross sales minus fees, refunds, and adjustments. QuickBooks records transactions as they're entered. Neither is wrong. They're speaking different languages.<\/p>\n\n<p>Most WooCommerce store owners fall into one of three camps. Reconcile manually every month and lose 4+ hours. Give up and run on increasingly unreliable books. Or automate the translation layer.<\/p>\n\n<p>LedgerPort is the translation layer. The WordPress plugin connects your WooCommerce store to LedgerPort, which keeps QuickBooks Online in sync with every transaction, refund, and deposit. Automatically. Accurately.<\/p>\n\n<h4>Key Capabilities<\/h4>\n\n<ul>\n<li><strong>Real-time order sync via WooCommerce webhooks.<\/strong> Orders appear in QuickBooks Online within seconds, not on a 5-minute poll cycle.<\/li>\n<li><strong>Product, customer, and payout sync.<\/strong> Read mode on install. Write mode is opt-in.<\/li>\n<li><strong>Payout reconciliation.<\/strong> Splits Stripe and WooCommerce Payments deposits into transaction-level detail you can match line by line.<\/li>\n<li><strong>Multi-business support.<\/strong> One LedgerPort account, multiple connected stores and QuickBooks files.<\/li>\n<li><strong>Full audit log.<\/strong> Every sync action logged. Retry failed events. Export to CSV for compliance.<\/li>\n<li><strong>HPOS-native.<\/strong> Built for WooCommerce 8+ and high-performance order storage from day 1. No compatibility-mode tradeoffs.<\/li>\n<\/ul>\n\n<h4>Why Teams Switch to LedgerPort<\/h4>\n\n<p><strong>Stop the Friday CSV export.<\/strong>\nOrders sync the moment they happen. Refunds, edits, and cancellations follow automatically. Stores running this manually report 8 to 12 hours of bookkeeping recovered every month.<\/p>\n\n<p><strong>One account, many businesses.<\/strong>\nManage 5+ connected stores and QuickBooks files from one dashboard at the Growth tier. Built for agencies and operators running portfolios.<\/p>\n\n<p><strong>Payouts that match reality.<\/strong>\nWhen Stripe deposits $4,287.32 on Tuesday, LedgerPort splits it into the exact orders and transaction fees that produced it. No more matching one deposit line against 47 orders manually.<\/p>\n\n<p><strong>Modern WooCommerce stack.<\/strong>\nBuilt for stores running 100,000+ orders without degradation. The plugin declares high-performance order storage compatibility through WooCommerce's standard mechanism, so HPOS-enabled stores work natively from the moment the plugin activates.<\/p>\n\n<h4>Who It's Built For<\/h4>\n\n<p>Store owners running WooCommerce who want bookkeeping automated. CPAs and bookkeepers managing client stores who need transaction-level data with an audit trail per client. Agencies running multiple client businesses on a unified dashboard with per-client pricing.<\/p>\n\n<h4>Full LedgerPort Feature List<\/h4>\n\n<ul>\n<li>Real-time order sync via WooCommerce webhooks.<\/li>\n<li>Stripe payout reconciliation with transaction-level detail.<\/li>\n<li>WooCommerce Payments payout split into individual transactions.<\/li>\n<li>Multi-business dashboard for connected stores and QuickBooks files.<\/li>\n<li>Chart of accounts mapping for products, taxes, and shipping.<\/li>\n<li>Full audit log with filterable history and CSV export.<\/li>\n<li>OAuth 2.0 PKCE setup wizard.<\/li>\n<li>Explicit consent screen before any resources are created on your store.<\/li>\n<li>Auto-provisioned WooCommerce REST API key, scoped to LedgerPort.<\/li>\n<li>WooCommerce webhooks for orders, products, customers, refunds, and product variations.<\/li>\n<li>HMAC-signed webhook payloads with a per-connection shared secret.<\/li>\n<li>Site Health integration for connection status.<\/li>\n<li>HTTPS enforcement with a development-mode override.<\/li>\n<li>HPOS native compatibility from day 1.<\/li>\n<li>Multi-currency support for any country LedgerPort and QuickBooks Online support.<\/li>\n<li>Refund and partial refund propagation.<\/li>\n<li>Order edit and cancellation propagation.<\/li>\n<li>Manual push controls for one-time syncs of recent data.<\/li>\n<li>Manual pull controls to import from QuickBooks Online.<\/li>\n<li>Per-event retry on transient failures.<\/li>\n<li>Plugin auto-deactivates if WooCommerce is missing.<\/li>\n<li>Encrypted storage for connection credentials.<\/li>\n<li>Random hash-suffixed log filenames with <code>.htaccess<\/code> and <code>web.config<\/code> deny rules dropped automatically.<\/li>\n<li>Translation-ready (<code>.pot<\/code> file included).<\/li>\n<li>Clean uninstall \u2014 removes the WooCommerce REST API key, webhooks, options, transients, and log directory.<\/li>\n<\/ul>\n\n<h4>Pricing<\/h4>\n\n<p>LedgerPort has a free plan (30 orders\/month, 1 business) and paid tiers starting at $29\/mo. See <a href=\"https:\/\/ledgerport.com\/pricing\/?utm_source=wprepo&amp;utm_medium=link&amp;utm_campaign=wporg\">the LedgerPort pricing page<\/a> for the full matrix.<\/p>\n\n<h4>Automate Your E-commerce Books<\/h4>\n\n<p>Connect WooCommerce to QuickBooks Online in under 5 minutes. The Free plan covers stores doing up to 30 orders per month. No credit card required.<\/p>\n\n<p><em>QuickBooks and QuickBooks Online are trademarks of Intuit Inc. WooCommerce is a trademark of Automattic Inc. LedgerPort is not affiliated with or endorsed by Intuit or Automattic.<\/em><\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects your WooCommerce store to the LedgerPort SaaS at https:\/\/api.ledgerport.com to sync orders, products, and customers to QuickBooks Online. It requires a free LedgerPort account.<\/p>\n\n<p>Endpoints contacted:<\/p>\n\n<ul>\n<li><code>https:\/\/api.ledgerport.com\/v1\/oauth\/*<\/code> \u2014 OAuth 2.0 PKCE handshake during initial setup.<\/li>\n<li><code>https:\/\/api.ledgerport.com\/v1\/connections\/woocommerce<\/code> \u2014 webhook registration and connection state.<\/li>\n<li><code>https:\/\/api.ledgerport.com\/v1\/events\/incoming<\/code> \u2014 receives WooCommerce webhook payloads (orders, refunds, products, customers, payouts).<\/li>\n<li><code>https:\/\/api.ledgerport.com\/v1\/sync\/status<\/code> \u2014 polled by the plugin admin UI to display sync health and recent activity.<\/li>\n<\/ul>\n\n<p>What is sent: WooCommerce order data, product data, customer data, and payout data. Sync is triggered by WooCommerce webhooks and on-demand REST API calls initiated by the LedgerPort server.<\/p>\n\n<p>Service documents:<\/p>\n\n<ul>\n<li><a href=\"https:\/\/ledgerport.com\/terms\/?utm_source=wprepo&amp;utm_medium=link&amp;utm_campaign=wporg\">Terms of Service<\/a><\/li>\n<li><a href=\"https:\/\/ledgerport.com\/privacy\/?utm_source=wprepo&amp;utm_medium=link&amp;utm_campaign=wporg\">Privacy Policy<\/a><\/li>\n<li><a href=\"https:\/\/ledgerport.com\/dpa\/?utm_source=wprepo&amp;utm_medium=link&amp;utm_campaign=wporg\">Data Processing Agreement<\/a><\/li>\n<\/ul>\n\n<p>QuickBooks Online is connected via OAuth from the LedgerPort dashboard. QuickBooks data flows are governed by Intuit's own Terms and Privacy Policy.<\/p>\n\n<h3>Privacy Policy<\/h3>\n\n<p>WooCommerce data transmitted by this plugin: orders, products, customers, and payouts.<\/p>\n\n<p>Sync only starts after you complete OAuth setup, which includes an explicit consent screen for the WooCommerce REST API key and webhook creation. The plugin does not transmit any data before this consent is given.<\/p>\n\n<p>Webhooks are signed with HMAC using a shared secret per connection. HTTPS is required for production sites. Local development environments can bypass the HTTPS check by defining <code>LEDGERPORT_ALLOW_HTTP<\/code> in <code>wp-config.php<\/code>.<\/p>\n\n<p>Customers exercising GDPR or CCPA rights can be removed from LedgerPort by contacting <a href=\"mailto:support@ledgerport.com\">support@ledgerport.com<\/a> or via the LedgerPort dashboard's data deletion tool. Erasure requests propagate to LedgerPort sub-processors per the DPA linked above.<\/p>\n\n<p>Sub-processors per LedgerPort DPA Schedule 1: Google Cloud Platform, Stripe, Intuit, FreeScout, Lindris. All sub-processors are based in the United States.<\/p>\n\n<p>Data retention is governed by the LedgerPort DPA linked above.<\/p>\n\n<h3>Source Code<\/h3>\n\n<p>This plugin ships the full, unobfuscated TypeScript\/React source for its admin UI alongside the compiled bundle. Source files live in the <code>assets\/<\/code> directory inside the plugin zip; the corresponding production bundle lives in <code>build\/<\/code>.<\/p>\n\n<h4>Application source<\/h4>\n\n<p>Every file under <code>build\/assets\/*.js<\/code> (the per-page entries such as <code>dashboard.js<\/code>, <code>mappings.js<\/code>, <code>logs.js<\/code>, plus all <code>chunk-*.js<\/code> files) is generated by Vite from the TypeScript\/React source in <code>assets\/<\/code>. The source layout is:<\/p>\n\n<ul>\n<li>Per-page entry points \u2014 <code>assets\/entries\/*.tsx<\/code><\/li>\n<li>React app shell, pages, providers, hooks, stores \u2014 <code>assets\/app\/<\/code><\/li>\n<li>Shared UI primitives (shadcn-style) \u2014 <code>assets\/ui\/<\/code><\/li>\n<li>API clients and shared utilities \u2014 <code>assets\/lib\/<\/code><\/li>\n<li>Shared TypeScript types \u2014 <code>assets\/types\/<\/code><\/li>\n<li>Tailwind entry CSS \u2014 <code>assets\/styles\/<\/code><\/li>\n<li>Static images referenced from PHP \u2014 <code>assets\/images\/<\/code><\/li>\n<li>Static admin CSS\/JS enqueued directly from PHP \u2014 <code>assets\/admin\/<\/code><\/li>\n<\/ul>\n\n<h4>Rebuilding the bundle<\/h4>\n\n<ol>\n<li>Install <a href=\"https:\/\/bun.sh\">Bun<\/a> (the project's package manager and runtime).<\/li>\n<li>From the plugin root, run <code>bun install<\/code> to install dependencies.<\/li>\n<li>Run <code>bun run build<\/code> to produce a fresh <code>build\/<\/code> directory from <code>assets\/<\/code>.<\/li>\n<\/ol>\n\n<p>The build is driven by Vite. Configuration files shipped with the plugin: <code>package.json<\/code>, <code>bun.lock<\/code>, <code>vite.config.ts<\/code>, <code>tsconfig.json<\/code>, <code>tailwind.config.ts<\/code>, <code>postcss.config.js<\/code>, <code>biome.json<\/code>, <code>components.json<\/code>. No external CDNs or proprietary build tools are required.<\/p>\n\n<h4>Third-party libraries<\/h4>\n\n<p>The compiled bundles in <code>build\/assets\/<\/code> are produced by Vite from <code>assets\/<\/code> plus the open-source libraries declared in <code>package.json<\/code>. The bundler inlines library code into the chunks; each library is listed below with its version, source repository, and license.<\/p>\n\n<p>Runtime dependencies (bundled into <code>build\/<\/code>):<\/p>\n\n<ul>\n<li><strong>react<\/strong> 19.2 \u2014 UI runtime. https:\/\/github.com\/facebook\/react (MIT)<\/li>\n<li><strong>react-dom<\/strong> 19.2 \u2014 DOM renderer for React. https:\/\/github.com\/facebook\/react (MIT)<\/li>\n<li><strong>@radix-ui\/react-dialog<\/strong> 1.1 \u2014 Accessible dialog primitive. https:\/\/github.com\/radix-ui\/primitives (MIT)<\/li>\n<li><strong>@radix-ui\/react-label<\/strong> 2.1 \u2014 Accessible label primitive. https:\/\/github.com\/radix-ui\/primitives (MIT)<\/li>\n<li><strong>@radix-ui\/react-popover<\/strong> 1.1 \u2014 Accessible popover primitive. https:\/\/github.com\/radix-ui\/primitives (MIT)<\/li>\n<li><strong>@radix-ui\/react-select<\/strong> 2.2 \u2014 Accessible select primitive. https:\/\/github.com\/radix-ui\/primitives (MIT)<\/li>\n<li><strong>@radix-ui\/react-slot<\/strong> 1.2 \u2014 Slot composition utility. https:\/\/github.com\/radix-ui\/primitives (MIT)<\/li>\n<li><strong>@radix-ui\/react-switch<\/strong> 1.2 \u2014 Accessible switch primitive. https:\/\/github.com\/radix-ui\/primitives (MIT)<\/li>\n<li><strong>@radix-ui\/react-tooltip<\/strong> 1.2 \u2014 Accessible tooltip primitive. https:\/\/github.com\/radix-ui\/primitives (MIT)<\/li>\n<li><strong>@tanstack\/react-query<\/strong> 5.90 \u2014 Server-state cache and query manager. https:\/\/github.com\/TanStack\/query (MIT)<\/li>\n<li><strong>@tanstack\/react-query-devtools<\/strong> 5.91 \u2014 React Query devtools. https:\/\/github.com\/TanStack\/query (MIT)<\/li>\n<li><strong>axios<\/strong> 1.13 \u2014 Promise-based HTTP client. https:\/\/github.com\/axios\/axios (MIT)<\/li>\n<li><strong>class-variance-authority<\/strong> 0.7 \u2014 Variant-based class composer. https:\/\/github.com\/joe-bell\/cva (Apache-2.0)<\/li>\n<li><strong>clsx<\/strong> 2.1 \u2014 Conditional class-name joiner. https:\/\/github.com\/lukeed\/clsx (MIT)<\/li>\n<li><strong>cmdk<\/strong> 1.1 \u2014 Command-menu primitive. https:\/\/github.com\/pacocoursey\/cmdk (MIT)<\/li>\n<li><strong>date-fns<\/strong> 4.1 \u2014 Date utilities. https:\/\/github.com\/date-fns\/date-fns (MIT)<\/li>\n<li><strong>lucide-react<\/strong> 0.563 \u2014 Icon set. https:\/\/github.com\/lucide-icons\/lucide (ISC)<\/li>\n<li><strong>react-day-picker<\/strong> 9.13 \u2014 Calendar \/ date picker. https:\/\/github.com\/gpbl\/react-day-picker (MIT)<\/li>\n<li><strong>react-error-boundary<\/strong> 6.1 \u2014 Error-boundary helper. https:\/\/github.com\/bvaughn\/react-error-boundary (MIT)<\/li>\n<li><strong>recharts<\/strong> 3.7 \u2014 Chart components. https:\/\/github.com\/recharts\/recharts (MIT)<\/li>\n<li><strong>sonner<\/strong> 2.0 \u2014 Toast notifications. https:\/\/github.com\/emilkowalski\/sonner (MIT)<\/li>\n<li><strong>tailwind-merge<\/strong> 3.4 \u2014 Tailwind class deduplication. https:\/\/github.com\/dcastil\/tailwind-merge (MIT)<\/li>\n<li><strong>zustand<\/strong> 5.0 \u2014 State management store. https:\/\/github.com\/pmndrs\/zustand (MIT)<\/li>\n<li><strong>@fontsource-variable\/inter<\/strong> 5.2 \u2014 Inter variable font, packaged by Fontsource. https:\/\/github.com\/fontsource\/fontsource (Package: MIT; Font: SIL Open Font License 1.1)<\/li>\n<\/ul>\n\n<p>Build tooling (devDependencies in <code>package.json<\/code>, not shipped inside <code>build\/<\/code>):<\/p>\n\n<ul>\n<li><strong>vite<\/strong> 5 \u2014 Bundler. https:\/\/github.com\/vitejs\/vite (MIT)<\/li>\n<li><strong>@vitejs\/plugin-react<\/strong> 4 \u2014 Vite React plugin. https:\/\/github.com\/vitejs\/vite-plugin-react (MIT)<\/li>\n<li><strong>@vitejs\/plugin-basic-ssl<\/strong> 2.1 \u2014 Local HTTPS for Vite. https:\/\/github.com\/vitejs\/vite-plugin-basic-ssl (MIT)<\/li>\n<li><strong>typescript<\/strong> 5.9 \u2014 TypeScript compiler. https:\/\/github.com\/microsoft\/TypeScript (Apache-2.0)<\/li>\n<li><strong>tailwindcss<\/strong> 3.4 \u2014 Utility-first CSS. https:\/\/github.com\/tailwindlabs\/tailwindcss (MIT)<\/li>\n<li><strong>postcss<\/strong> 8.5 \u2014 CSS transformer. https:\/\/github.com\/postcss\/postcss (MIT)<\/li>\n<li><strong>autoprefixer<\/strong> 10.4 \u2014 PostCSS plugin. https:\/\/github.com\/postcss\/autoprefixer (MIT)<\/li>\n<li><strong>@biomejs\/biome<\/strong> 2.3 \u2014 Linter \/ formatter. https:\/\/github.com\/biomejs\/biome (MIT)<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>wp-content\/plugins\/ledgerport\/<\/code>, or install via <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong> and select the LedgerPort zip.<\/li>\n<li>Activate <strong>LedgerPort<\/strong> through the <strong>Plugins<\/strong> screen.<\/li>\n<li>The setup wizard launches automatically. Follow the prompts to authenticate with LedgerPort and connect QuickBooks Online via OAuth.<\/li>\n<li>On the consent screen, approve the creation of a WooCommerce REST API key and webhooks. These resources are required for sync.<\/li>\n<li>Once setup completes, the first sync runs automatically.<\/li>\n<\/ol>\n\n<p>WooCommerce 6.0 or later is required. HTTPS is required for production sites.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20does%20this%20plugin%20do%3F\"><h3>What does this plugin do?<\/h3><\/dt>\n<dd><p>LedgerPort is a connector. The WordPress plugin authenticates your WooCommerce store with LedgerPort, sets up webhooks, and lets LedgerPort sync your store data to QuickBooks Online. The actual sync work happens on LedgerPort's servers.<\/p><\/dd>\n<dt id=\"what%20does%20ledgerport%20cost%3F\"><h3>What does LedgerPort cost?<\/h3><\/dt>\n<dd><p>LedgerPort offers a free plan and four paid tiers. The Free plan covers up to 30 orders per month. Paid plans start at $29 per month. See <a href=\"https:\/\/ledgerport.com\/pricing\/?utm_source=wprepo&amp;utm_medium=link&amp;utm_campaign=wporg\">the LedgerPort pricing page<\/a> for current plan details.<\/p><\/dd>\n<dt id=\"do%20i%20need%20a%20ledgerport%20account%3F\"><h3>Do I need a LedgerPort account?<\/h3><\/dt>\n<dd><p>Yes. The plugin requires a free LedgerPort account because the plugin is a connector. Without the LedgerPort service, the plugin cannot sync to QuickBooks. Account creation takes about two minutes and happens during the setup wizard.<\/p><\/dd>\n<dt id=\"does%20this%20require%20https%3F\"><h3>Does this require HTTPS?<\/h3><\/dt>\n<dd><p>Yes. WooCommerce REST API credentials and webhook payloads need a secure connection. Most WordPress hosts offer free SSL via Let's Encrypt. For local development, define <code>LEDGERPORT_ALLOW_HTTP<\/code> in <code>wp-config.php<\/code> to bypass the check.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20disconnect%3F%20are%20my%20quickbooks%20records%20affected%3F\"><h3>What happens if I disconnect? Are my QuickBooks records affected?<\/h3><\/dt>\n<dd><p>Disconnecting from LedgerPort does not touch your QuickBooks data. The plugin removes its WooCommerce REST API key and webhooks from your store. Records already synced to QuickBooks stay there. To stop QuickBooks-side syncing entirely, disconnect QuickBooks from your LedgerPort dashboard separately.<\/p><\/dd>\n<dt id=\"does%20ledgerport%20support%20woocommerce%20hpos%3F\"><h3>Does LedgerPort support WooCommerce HPOS?<\/h3><\/dt>\n<dd><p>Yes. LedgerPort is HPOS-native from version 1.0.0. The plugin is built for WooCommerce 8+ and high-performance order storage from day one. The plugin declares HPOS compatibility through WooCommerce's standard mechanism.<\/p><\/dd>\n<dt id=\"which%20quickbooks%20online%20plans%20does%20this%20work%20with%3F\"><h3>Which QuickBooks Online plans does this work with?<\/h3><\/dt>\n<dd><p>LedgerPort works with all QuickBooks Online plans: Simple Start, Essentials, Plus, and Advanced. None of the Advanced-only features are required. Supports any QuickBooks Online country and currency configuration.<\/p><\/dd>\n<dt id=\"does%20it%20sync%20historical%20orders%2C%20or%20only%20new%20ones%20going%20forward%3F\"><h3>Does it sync historical orders, or only new ones going forward?<\/h3><\/dt>\n<dd><p>Version 1.0.0 syncs new orders only. Anything that comes into WooCommerce after setup syncs automatically. Bulk backfill for historical orders is on the version 1.1.0 roadmap.<\/p><\/dd>\n<dt id=\"can%20i%20sync%20multiple%20woocommerce%20stores%20to%20one%20quickbooks%20online%20file%3F\"><h3>Can I sync multiple WooCommerce stores to one QuickBooks Online file?<\/h3><\/dt>\n<dd><p>Yes. The multi-business architecture supports this from the Growth tier. One LedgerPort account, multiple connected stores, and one paid plan covers them all. The Agency tier scales to unlimited client businesses on the same account.<\/p><\/dd>\n<dt id=\"does%20it%20handle%20refunds%2C%20partial%20refunds%2C%20and%20order%20edits%3F\"><h3>Does it handle refunds, partial refunds, and order edits?<\/h3><\/dt>\n<dd><p>Yes. Refunds, partial refunds, and order edits trigger webhook events that LedgerPort processes in real time. QuickBooks stays in sync with whatever changes happen in WooCommerce.<\/p><\/dd>\n<dt id=\"what%20does%20the%20audit%20log%20capture%3F\"><h3>What does the audit log capture?<\/h3><\/dt>\n<dd><p>Every sync action. Successful syncs, failed events, retries, manual pushes, and pulls. The log is filterable by date, type, and status. Export to CSV for compliance and review.<\/p><\/dd>\n<dt id=\"is%20data%20sent%20in%20real%20time%2C%20or%20on%20a%20schedule%3F\"><h3>Is data sent in real time, or on a schedule?<\/h3><\/dt>\n<dd><p>Real time, via WooCommerce webhooks. Events fire the moment a change happens in WooCommerce. The plugin does not run on a polling schedule. Changes propagate within seconds.<\/p><\/dd>\n<dt id=\"are%20debug%20log%20files%20protected%20from%20public%20access%3F\"><h3>Are debug log files protected from public access?<\/h3><\/dt>\n<dd><p>Yes. Log files are stored under <code>wp-content\/uploads\/ledgerport\/logs\/<\/code> with random hash-suffixed filenames. The plugin drops <code>.htaccess<\/code> (Apache and LiteSpeed) and <code>web.config<\/code> (IIS) deny rules automatically. For Nginx, add this to your server config if your host does not already block direct access under <code>wp-content\/uploads\/<\/code>:<\/p>\n\n<pre><code>location ~* \/wp-content\/uploads\/ledgerport\/logs\/.* { deny all; }\n<\/code><\/pre><\/dd>\n<dt id=\"how%20do%20i%20report%20a%20bug%3F\"><h3>How do I report a bug?<\/h3><\/dt>\n<dd><p>Open a support ticket through your LedgerPort dashboard, or visit <a href=\"https:\/\/ledgerport.com\/support\/?utm_source=wprepo&amp;utm_medium=link&amp;utm_campaign=wporg\">LedgerPort support<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<li>OAuth 2.0 PKCE setup wizard with explicit consent for WooCommerce API key and webhook creation.<\/li>\n<li>Real-time order, product, and customer sync via WooCommerce webhooks.<\/li>\n<li>Manual push and pull tools for on-demand syncing.<\/li>\n<li>Chart of accounts mapping editor.<\/li>\n<li>Audit logs with filterable history and CSV export.<\/li>\n<li>Site Health integration.<\/li>\n<li>HPOS-native. Multi-business support.<\/li>\n<\/ul>","raw_excerpt":"Sync WooCommerce orders, payouts, and inventory to QuickBooks Online in real time. HPOS-native. Built for multi-business setups.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/322715","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=322715"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ledgerport"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=322715"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=322715"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=322715"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=322715"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=322715"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=322715"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}