{"id":12103,"date":"2026-10-19T14:30:15","date_gmt":"2026-10-19T11:30:15","guid":{"rendered":"https:\/\/voronov.solutions\/?p=12103"},"modified":"2026-10-19T14:30:16","modified_gmt":"2026-10-19T11:30:16","slug":"intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv","status":"publish","type":"post","link":"https:\/\/voronov.solutions\/en\/blog\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\/","title":{"rendered":"WooCommerce integration with ERP: architectural analysis of seamless synchronization of prices, balances and orders"},"content":{"rendered":"<p>Correct <strong>WooCommerce integration with ERP<\/strong> (by accounting systems like BAS, Odoo or 1C) is based on abandoning direct synchronous writing in favor of asynchronous buffering. To avoid 504 Gateway Timeout errors, database locks and the sale of missing products, data exchange should rely on batch endpoints, background execution queues and idempotence of transactions when changing order statuses.<\/p>\n<h2>Anatomy of a failure: why direct data exchange \u201chead-on\u201d breaks an online store<\/h2>\n<figure class=\"wp-block-image size-large vsaic-image\"><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone wp-image-12109 size-full\" src=\"https:\/\/voronov.solutions\/wp-content\/uploads\/2026\/10\/et-504-gateway-error-blogpost.webp\" alt=\"\" width=\"1080\" height=\"608\" srcset=\"https:\/\/voronov.solutions\/wp-content\/uploads\/2026\/10\/et-504-gateway-error-blogpost.webp 1080w, https:\/\/voronov.solutions\/wp-content\/uploads\/2026\/10\/et-504-gateway-error-blogpost-300x169.webp 300w, https:\/\/voronov.solutions\/wp-content\/uploads\/2026\/10\/et-504-gateway-error-blogpost-1024x576.webp 1024w, https:\/\/voronov.solutions\/wp-content\/uploads\/2026\/10\/et-504-gateway-error-blogpost-768x432.webp 768w, https:\/\/voronov.solutions\/wp-content\/uploads\/2026\/10\/et-504-gateway-error-blogpost-18x10.webp 18w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/><\/figure>\n<p>A typical scenario for most basic modules or self-written scripts looks like this: the accounting system sends single HTTP requests to the site for each change in the balance, or the online store, when the \"Place an order\" button is clicked, tries to synchronously contact the warehouse program API and wait for confirmation.<\/p>\n<p>This approach works stably only at the testing stage with a dozen products. In a production environment, it leads to a chain reaction of technical failures:<\/p>\n<ul>\n<li><strong>PHP max_execution_time and 504 Gateway Timeout:<\/strong> If ERP is uploading a file or array of several hundred SKUs at once via a single synchronous call, the Nginx\/Apache web server will terminate the connection due to exceeding the response time limit from PHP-FPM. As a result, the balances are only partially updated.<\/li>\n<li><strong>Database Deadlocks:<\/strong> the classic WooCommerce structure stores product attributes in a table <code>wp_postmeta<\/code>. Massive parallel writing of hundreds of rows provokes row locking conflicts in the subsystem <a href=\"https:\/\/dev.mysql.com\/doc\/refman\/8.0\/en\/innodb-locking-transaction-model.html\" target=\"_blank\" rel=\"noopener noreferrer\">MySQL InnoDB Locking and Transaction Model<\/a>At times when the update script blocks the table, regular site users see a \"white screen\" or cannot open the cart.<\/li>\n<li><strong>Race Condition and Overbooking:<\/strong> the buyer adds the last item to the cart and proceeds to checkout. At the same time, the ERP initiates the write-off of the same balance through offline sales. If the integration does not support locking at the business logic level and transaction versioning, WooCommerce allows the order to be paid for. The result is a cash flow gap and a refund to the disappointed customer.<\/li>\n<li><strong>Inconsistency of order statuses:<\/strong> Loss of connection between servers during fiscal check transfer or changing the status from \"Processing\" to \"Completed\" leaves the order in a suspended state without a retry logic mechanism.<\/li>\n<\/ul>\n<h2>Architectural solutions for stable synchronization<\/h2>\n<figure class=\"wp-block-image size-large vsaic-image\"><img decoding=\"async\" class=\"alignnone wp-image-12110 size-full\" src=\"https:\/\/voronov.solutions\/wp-content\/uploads\/2026\/10\/what-is-woocommerce-hpos-1536x864-1.jpg\" alt=\"\" width=\"1536\" height=\"864\" srcset=\"https:\/\/voronov.solutions\/wp-content\/uploads\/2026\/10\/what-is-woocommerce-hpos-1536x864-1.jpg 1536w, https:\/\/voronov.solutions\/wp-content\/uploads\/2026\/10\/what-is-woocommerce-hpos-1536x864-1-300x169.jpg 300w, https:\/\/voronov.solutions\/wp-content\/uploads\/2026\/10\/what-is-woocommerce-hpos-1536x864-1-1024x576.jpg 1024w, https:\/\/voronov.solutions\/wp-content\/uploads\/2026\/10\/what-is-woocommerce-hpos-1536x864-1-768x432.jpg 768w, https:\/\/voronov.solutions\/wp-content\/uploads\/2026\/10\/what-is-woocommerce-hpos-1536x864-1-18x10.jpg 18w\" sizes=\"(max-width: 1536px) 100vw, 1536px\" \/><\/figure>\n<p>To build a fault-tolerant data transmission channel, it is necessary to separate the reception of information and its direct writing to the WordPress database.<\/p>\n<h3>1. Switching to Batch Endpoints (Batch Updates)<\/h3>\n<p>Sending a separate HTTP POST request for each price update for a thousand items creates a huge overhead for the TLS handshake and loading the WordPress core. According to <a href=\"https:\/\/woocommerce.github.io\/woocommerce-rest-api-docs\/#batch-update-products\" target=\"_blank\" rel=\"noopener noreferrer\">WooCommerce REST API Documentation<\/a>, the system natively supports the endpoint <code>\/wp-json\/wc\/v3\/products\/batch<\/code>, which allows you to create, update, or delete up to 100 products in a single HTTP request. This reduces the load on the network stack and web server by dozens of times.<\/p>\n<h3>2. Background processing via queues (Action Scheduler and Redis)<\/h3>\n<p>When ERP transmits a large array of data, the web server only needs to validate the incoming packet, return a quick response <code>HTTP 202 Accepted<\/code> and pass the array to the processing queue. For this purpose, WooCommerce uses <a href=\"https:\/\/actionscheduler.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Action Scheduler<\/a> \u2014 an asynchronous task queue that parses imports in batches in the background via the server's system cron without the risk of exceeding script execution limits.<\/p>\n<p>For large projects with frequent price changes, it is advisable to move buffering to the RAM level using Redis, which completely eliminates the load on MySQL during peak requests from the accounting system.<\/p>\n<h3>3. Implementation of High-Performance Order Storage (HPOS)<\/h3>\n<p>Historically, each WooCommerce order was recorded as a separate record in a table. <code>wp_posts<\/code>, and all its parameters (client, address, price, status) were duplicated multiple times in <code>wp_postmeta<\/code>With a high frequency of orders, this caused competition for resources with the product catalog. Mechanism <a href=\"https:\/\/woocommerce.com\/document\/high-performance-order-storage\/\" target=\"_blank\" rel=\"noopener noreferrer\">High-Performance Order Storage (HPOS)<\/a> stores orders in dedicated relational tables (<code>wp_wc_orders<\/code>), which isolates order writing operations from catalog reading and dramatically reduces the likelihood of transaction blocking.<\/p>\n<h2>Diagnostics and decision matrix: selection of exchange architecture<\/h2>\n<p>The scale and intensity of data exchange determine the required technical stack. Below is a matrix that determines the requirements for the synchronization channel:<\/p>\n<table>\n<thead>\n<tr>\n<th>Store settings<\/th>\n<th>Nature of updates<\/th>\n<th>Optimal technical architecture<\/th>\n<th>Risks of incorrect implementation<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Up to 1,000 SKUs, up to 20 orders per day<\/td>\n<td>Change the residue 1\u20132 times a day<\/td>\n<td>Standard REST API, query pagination, basic WooCommerce webhooks.<\/td>\n<td>Minimal, direct exchange is permissible provided that timeout is controlled on the server side.<\/td>\n<\/tr>\n<tr>\n<td>1,000\u201310,000 SKUs, regular sales<\/td>\n<td>Constant updates every 10\u201330 minutes<\/td>\n<td>Required use of batch endpoints (\/products\/batch for 50\u2013100 items), background processing via Action Scheduler.<\/td>\n<td>Connection buffer overflow, 504 Gateway Timeout, queues freezing due to standard WP-Cron.<\/td>\n<\/tr>\n<tr>\n<td>Over 10,000 SKUs or peak sales (&gt;10 reps\/min)<\/td>\n<td>Massive dynamic balances, promotions, seasonal surges<\/td>\n<td>HPOS activation, buffer removal to Redis, isolated worker on system cron (CLI), retry queues.<\/td>\n<td>InnoDB deadlocks, MySQL server crashes, price desynchronization, and overbooking.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Practical view VORONOV Solutions<\/h2>\n<p>As part of our online store development and integration services, the VORONOV Solutions team regularly encounters the consequences of incorrectly constructed WooCommerce connections with ERP systems (BAS, 1C, Odoo). The most common problem is outdated third-party connectors that try to write data directly to the MySQL database, bypassing the platform's native hooks. This destroys the integrity of the cache and leads to hidden errors.<\/p>\n<p>For non-standard business processes, we develop custom plugins and modules with individual logic in PHP: we configure asynchronous queues, implement logging with a failure notification system, and isolate the load at the server level. To maintain uninterrupted operation, we provide monthly stability monitoring of critical store processes as part of the Commerce Care tariff, which allows you to detect communication errors before they affect customers.<\/p>\n<h2>FAQ: Frequently asked questions about ERP integration<\/h2>\n<h3>Why does the site stop opening after a mass unloading of balances from the accounting system?<\/h3>\n<p>The reason is that the database tables are locked and the PHP-FPM process pool is exhausted due to massive synchronous writes to the table. <code>wp_postmeta<\/code>If the integration script sends data without speed limitation and without packetization, the web server stops allocating resources to processing requests from regular site visitors.<\/p>\n<h3>How to protect yourself from selling a product if the balance changed a second ago in a physical store?<\/h3>\n<p>The solution is to combine idempotent transaction keys and configure high-priority webhooks: when a write-off event occurs in the warehouse, the ERP should generate a point-to-point fast webhook to the store for a specific ID\/SKU, which is processed outside the general daily import queue.<\/p>\n<h3>Can I enable HPOS on an already running WooCommerce store?<\/h3>\n<p>Yes, but the transition requires a preliminary technical audit. Before switching the database to separate order tables, it is necessary to check the compatibility of all installed plugins (especially payment, shipping, and analytics modules) with the new data storage API.<\/p>\n<hr \/>\n<p>Are you planning to launch a new project, perform a complex integration, or are you looking for a reliable team to provide technical support and accelerate your existing site? Describe your task \u2014 at VORONOV Solutions, we will conduct a technical audit and offer the optimal cooperation format (Fixed Price, hourly package, or Retainer).<\/p>","protected":false},"excerpt":{"rendered":"<p>Diagnostic analysis of errors when integrating WooCommerce with ERP (BAS, Odoo, 1C). Why MySQL locks, timeouts and race conditions occur, and how to solve them through queues, batch REST API and HPOS.<\/p>","protected":false},"author":1,"featured_media":12108,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[108,33],"tags":[109,89,62,112,58,114,113],"class_list":["post-12103","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-api-ta-integracziyi","category-blog","tag-erp","tag-mysql","tag-php","tag-rest-api","tag-woocommerce","tag-internet-magazyny","tag-optymizacziya-e-commerce"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.5 (Yoast SEO v28.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>\u0406\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u044f WooCommerce \u0437 ERP: \u0443\u0441\u0443\u043d\u0435\u043d\u043d\u044f \u043f\u043e\u043c\u0438\u043b\u043e\u043a | VORONOV Solutions<\/title>\n<meta name=\"description\" content=\"\u0420\u043e\u0437\u0431\u0456\u0440 \u043f\u043e\u043c\u0438\u043b\u043e\u043a \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0457 WooCommerce \u0437 ERP (BAS, Odoo, 1C). \u0410\u0440\u0445\u0456\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0456\u0437\u0430\u0446\u0456\u0457 \u0446\u0456\u043d \u0456 \u0437\u0430\u043b\u0438\u0448\u043a\u0456\u0432 \u0431\u0435\u0437 \u0431\u043b\u043e\u043a\u0443\u0432\u0430\u043d\u043d\u044f \u0431\u0430\u0437\u0438 \u0434\u0430\u043d\u0438\u0445, \u0442\u0430\u0439\u043c-\u0430\u0443\u0442\u0456\u0432 \u0442\u0430 \u0437\u0431\u043e\u0457\u0432.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/voronov.solutions\/en\/blog\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0406\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u044f WooCommerce \u0437 ERP: \u0430\u0440\u0445\u0456\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u0438\u0439 \u0440\u043e\u0437\u0431\u0456\u0440 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0456\u0437\u0430\u0446\u0456\u0457 \u0446\u0456\u043d, \u0437\u0430\u043b\u0438\u0448\u043a\u0456\u0432 \u0456 \u0437\u0430\u043c\u043e\u0432\u043b\u0435\u043d\u044c \u0431\u0435\u0437 \u0437\u0431\u043e\u0457\u0432\" \/>\n<meta property=\"og:description\" content=\"\u0420\u043e\u0437\u0431\u0456\u0440 \u043f\u043e\u043c\u0438\u043b\u043e\u043a \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0457 WooCommerce \u0437 ERP (BAS, Odoo, 1C). \u0410\u0440\u0445\u0456\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0456\u0437\u0430\u0446\u0456\u0457 \u0446\u0456\u043d \u0456 \u0437\u0430\u043b\u0438\u0448\u043a\u0456\u0432 \u0431\u0435\u0437 \u0431\u043b\u043e\u043a\u0443\u0432\u0430\u043d\u043d\u044f \u0431\u0430\u0437\u0438 \u0434\u0430\u043d\u0438\u0445, \u0442\u0430\u0439\u043c-\u0430\u0443\u0442\u0456\u0432 \u0442\u0430 \u0437\u0431\u043e\u0457\u0432.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/voronov.solutions\/en\/blog\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\/\" \/>\n<meta property=\"og:site_name\" content=\"VORONOV Solutions\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-19T11:30:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-19T11:30:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/voronov.solutions\/wp-content\/uploads\/2026\/10\/design-ideas-blogs-icecat-10.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1440\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Oleh Voronov\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Oleh Voronov\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/voronov.solutions\\\/blog\\\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/voronov.solutions\\\/blog\\\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\\\/\"},\"author\":{\"name\":\"Oleh Voronov\",\"@id\":\"https:\\\/\\\/voronov.solutions\\\/#\\\/schema\\\/person\\\/0c5dea592b83ad404234fdc21f21c0b4\"},\"headline\":\"\u0406\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u044f WooCommerce \u0437 ERP: \u0430\u0440\u0445\u0456\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u0438\u0439 \u0440\u043e\u0437\u0431\u0456\u0440 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0456\u0437\u0430\u0446\u0456\u0457 \u0446\u0456\u043d, \u0437\u0430\u043b\u0438\u0448\u043a\u0456\u0432 \u0456 \u0437\u0430\u043c\u043e\u0432\u043b\u0435\u043d\u044c \u0431\u0435\u0437 \u0437\u0431\u043e\u0457\u0432\",\"datePublished\":\"2026-10-19T11:30:15+00:00\",\"dateModified\":\"2026-10-19T11:30:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/voronov.solutions\\\/blog\\\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\\\/\"},\"wordCount\":978,\"publisher\":{\"@id\":\"https:\\\/\\\/voronov.solutions\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/voronov.solutions\\\/blog\\\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/voronov.solutions\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/design-ideas-blogs-icecat-10.webp\",\"keywords\":[\"ERP\",\"MySQL\",\"PHP\",\"REST API\",\"WooCommerce\",\"\u0456\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0438\",\"\u043e\u043f\u0442\u0438\u043c\u0456\u0437\u0430\u0446\u0456\u044f e-commerce\"],\"articleSection\":[\"API \u0442\u0430 \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0457\",\"\u0411\u043b\u043e\u0433\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/voronov.solutions\\\/blog\\\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\\\/\",\"url\":\"https:\\\/\\\/voronov.solutions\\\/blog\\\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\\\/\",\"name\":\"\u0406\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u044f WooCommerce \u0437 ERP: \u0443\u0441\u0443\u043d\u0435\u043d\u043d\u044f \u043f\u043e\u043c\u0438\u043b\u043e\u043a | VORONOV Solutions\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/voronov.solutions\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/voronov.solutions\\\/blog\\\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/voronov.solutions\\\/blog\\\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/voronov.solutions\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/design-ideas-blogs-icecat-10.webp\",\"datePublished\":\"2026-10-19T11:30:15+00:00\",\"dateModified\":\"2026-10-19T11:30:16+00:00\",\"description\":\"\u0420\u043e\u0437\u0431\u0456\u0440 \u043f\u043e\u043c\u0438\u043b\u043e\u043a \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0457 WooCommerce \u0437 ERP (BAS, Odoo, 1C). \u0410\u0440\u0445\u0456\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0456\u0437\u0430\u0446\u0456\u0457 \u0446\u0456\u043d \u0456 \u0437\u0430\u043b\u0438\u0448\u043a\u0456\u0432 \u0431\u0435\u0437 \u0431\u043b\u043e\u043a\u0443\u0432\u0430\u043d\u043d\u044f \u0431\u0430\u0437\u0438 \u0434\u0430\u043d\u0438\u0445, \u0442\u0430\u0439\u043c-\u0430\u0443\u0442\u0456\u0432 \u0442\u0430 \u0437\u0431\u043e\u0457\u0432.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/voronov.solutions\\\/blog\\\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/voronov.solutions\\\/blog\\\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/voronov.solutions\\\/blog\\\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\\\/#primaryimage\",\"url\":\"https:\\\/\\\/voronov.solutions\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/design-ideas-blogs-icecat-10.webp\",\"contentUrl\":\"https:\\\/\\\/voronov.solutions\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/design-ideas-blogs-icecat-10.webp\",\"width\":2560,\"height\":1440},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/voronov.solutions\\\/blog\\\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043e\u043b\u043e\u0432\u043d\u0430\",\"item\":\"https:\\\/\\\/voronov.solutions\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0406\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u044f WooCommerce \u0437 ERP: \u0430\u0440\u0445\u0456\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u0438\u0439 \u0440\u043e\u0437\u0431\u0456\u0440 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0456\u0437\u0430\u0446\u0456\u0457 \u0446\u0456\u043d, \u0437\u0430\u043b\u0438\u0448\u043a\u0456\u0432 \u0456 \u0437\u0430\u043c\u043e\u0432\u043b\u0435\u043d\u044c \u0431\u0435\u0437 \u0437\u0431\u043e\u0457\u0432\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/voronov.solutions\\\/#website\",\"url\":\"https:\\\/\\\/voronov.solutions\\\/\",\"name\":\"VORONOV Solutions\",\"description\":\"\u0420\u043e\u0437\u0440\u043e\u0431\u043a\u0430 \u0442\u0430 \u043f\u0456\u0434\u0442\u0440\u0438\u043c\u043a\u0430 \u0441\u0430\u0439\u0442\u0456\u0432\",\"publisher\":{\"@id\":\"https:\\\/\\\/voronov.solutions\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/voronov.solutions\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/voronov.solutions\\\/#organization\",\"name\":\"VORONOV Solutions\",\"url\":\"https:\\\/\\\/voronov.solutions\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/voronov.solutions\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/voronov.solutions\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/cropped-cropped-cropped-logo-10-1.webp\",\"contentUrl\":\"https:\\\/\\\/voronov.solutions\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/cropped-cropped-cropped-logo-10-1.webp\",\"width\":815,\"height\":152,\"caption\":\"VORONOV Solutions\"},\"image\":{\"@id\":\"https:\\\/\\\/voronov.solutions\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/instagram.com\\\/voronov.solutions\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/voronov.solutions\\\/#\\\/schema\\\/person\\\/0c5dea592b83ad404234fdc21f21c0b4\",\"name\":\"Oleh Voronov\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/65c95db9b330300501dfce824f89b9259da9280086547992773abe09d53e5d78?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/65c95db9b330300501dfce824f89b9259da9280086547992773abe09d53e5d78?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/65c95db9b330300501dfce824f89b9259da9280086547992773abe09d53e5d78?s=96&d=mm&r=g\",\"caption\":\"Oleh Voronov\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"WooCommerce integration with ERP: troubleshooting | VORONOV Solutions","description":"Troubleshooting WooCommerce integration errors with ERP (BAS, Odoo, 1C). Architecture for price and balance synchronization without database locking, timeouts, and crashes.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/voronov.solutions\/en\/blog\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\/","og_locale":"en_US","og_type":"article","og_title":"\u0406\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u044f WooCommerce \u0437 ERP: \u0430\u0440\u0445\u0456\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u0438\u0439 \u0440\u043e\u0437\u0431\u0456\u0440 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0456\u0437\u0430\u0446\u0456\u0457 \u0446\u0456\u043d, \u0437\u0430\u043b\u0438\u0448\u043a\u0456\u0432 \u0456 \u0437\u0430\u043c\u043e\u0432\u043b\u0435\u043d\u044c \u0431\u0435\u0437 \u0437\u0431\u043e\u0457\u0432","og_description":"\u0420\u043e\u0437\u0431\u0456\u0440 \u043f\u043e\u043c\u0438\u043b\u043e\u043a \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0457 WooCommerce \u0437 ERP (BAS, Odoo, 1C). \u0410\u0440\u0445\u0456\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0456\u0437\u0430\u0446\u0456\u0457 \u0446\u0456\u043d \u0456 \u0437\u0430\u043b\u0438\u0448\u043a\u0456\u0432 \u0431\u0435\u0437 \u0431\u043b\u043e\u043a\u0443\u0432\u0430\u043d\u043d\u044f \u0431\u0430\u0437\u0438 \u0434\u0430\u043d\u0438\u0445, \u0442\u0430\u0439\u043c-\u0430\u0443\u0442\u0456\u0432 \u0442\u0430 \u0437\u0431\u043e\u0457\u0432.","og_url":"https:\/\/voronov.solutions\/en\/blog\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\/","og_site_name":"VORONOV Solutions","article_published_time":"2026-10-19T11:30:15+00:00","article_modified_time":"2026-10-19T11:30:16+00:00","og_image":[{"width":2560,"height":1440,"url":"https:\/\/voronov.solutions\/wp-content\/uploads\/2026\/10\/design-ideas-blogs-icecat-10.webp","type":"image\/webp"}],"author":"Oleh Voronov","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Oleh Voronov","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/voronov.solutions\/blog\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\/#article","isPartOf":{"@id":"https:\/\/voronov.solutions\/blog\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\/"},"author":{"name":"Oleh Voronov","@id":"https:\/\/voronov.solutions\/#\/schema\/person\/0c5dea592b83ad404234fdc21f21c0b4"},"headline":"\u0406\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u044f WooCommerce \u0437 ERP: \u0430\u0440\u0445\u0456\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u0438\u0439 \u0440\u043e\u0437\u0431\u0456\u0440 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0456\u0437\u0430\u0446\u0456\u0457 \u0446\u0456\u043d, \u0437\u0430\u043b\u0438\u0448\u043a\u0456\u0432 \u0456 \u0437\u0430\u043c\u043e\u0432\u043b\u0435\u043d\u044c \u0431\u0435\u0437 \u0437\u0431\u043e\u0457\u0432","datePublished":"2026-10-19T11:30:15+00:00","dateModified":"2026-10-19T11:30:16+00:00","mainEntityOfPage":{"@id":"https:\/\/voronov.solutions\/blog\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\/"},"wordCount":978,"publisher":{"@id":"https:\/\/voronov.solutions\/#organization"},"image":{"@id":"https:\/\/voronov.solutions\/blog\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\/#primaryimage"},"thumbnailUrl":"https:\/\/voronov.solutions\/wp-content\/uploads\/2026\/10\/design-ideas-blogs-icecat-10.webp","keywords":["ERP","MySQL","PHP","REST API","WooCommerce","\u0456\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043c\u0430\u0433\u0430\u0437\u0438\u043d\u0438","\u043e\u043f\u0442\u0438\u043c\u0456\u0437\u0430\u0446\u0456\u044f e-commerce"],"articleSection":["API \u0442\u0430 \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0457","\u0411\u043b\u043e\u0433"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/voronov.solutions\/blog\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\/","url":"https:\/\/voronov.solutions\/blog\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\/","name":"WooCommerce integration with ERP: troubleshooting | VORONOV Solutions","isPartOf":{"@id":"https:\/\/voronov.solutions\/#website"},"primaryImageOfPage":{"@id":"https:\/\/voronov.solutions\/blog\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\/#primaryimage"},"image":{"@id":"https:\/\/voronov.solutions\/blog\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\/#primaryimage"},"thumbnailUrl":"https:\/\/voronov.solutions\/wp-content\/uploads\/2026\/10\/design-ideas-blogs-icecat-10.webp","datePublished":"2026-10-19T11:30:15+00:00","dateModified":"2026-10-19T11:30:16+00:00","description":"Troubleshooting WooCommerce integration errors with ERP (BAS, Odoo, 1C). Architecture for price and balance synchronization without database locking, timeouts, and crashes.","breadcrumb":{"@id":"https:\/\/voronov.solutions\/blog\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/voronov.solutions\/blog\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/voronov.solutions\/blog\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\/#primaryimage","url":"https:\/\/voronov.solutions\/wp-content\/uploads\/2026\/10\/design-ideas-blogs-icecat-10.webp","contentUrl":"https:\/\/voronov.solutions\/wp-content\/uploads\/2026\/10\/design-ideas-blogs-icecat-10.webp","width":2560,"height":1440},{"@type":"BreadcrumbList","@id":"https:\/\/voronov.solutions\/blog\/intehratsiia-woocommerce-z-erp-arkhitekturnyi-rozbir-synkhronizatsii-tsin-zalyshkiv-i-zamovlen-bez-zboiv\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043e\u043b\u043e\u0432\u043d\u0430","item":"https:\/\/voronov.solutions\/"},{"@type":"ListItem","position":2,"name":"\u0406\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u044f WooCommerce \u0437 ERP: \u0430\u0440\u0445\u0456\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u0438\u0439 \u0440\u043e\u0437\u0431\u0456\u0440 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0456\u0437\u0430\u0446\u0456\u0457 \u0446\u0456\u043d, \u0437\u0430\u043b\u0438\u0448\u043a\u0456\u0432 \u0456 \u0437\u0430\u043c\u043e\u0432\u043b\u0435\u043d\u044c \u0431\u0435\u0437 \u0437\u0431\u043e\u0457\u0432"}]},{"@type":"WebSite","@id":"https:\/\/voronov.solutions\/#website","url":"https:\/\/voronov.solutions\/","name":"VORONOV Solutions","description":"\u0420\u043e\u0437\u0440\u043e\u0431\u043a\u0430 \u0442\u0430 \u043f\u0456\u0434\u0442\u0440\u0438\u043c\u043a\u0430 \u0441\u0430\u0439\u0442\u0456\u0432","publisher":{"@id":"https:\/\/voronov.solutions\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/voronov.solutions\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/voronov.solutions\/#organization","name":"VORONOV Solutions","url":"https:\/\/voronov.solutions\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/voronov.solutions\/#\/schema\/logo\/image\/","url":"https:\/\/voronov.solutions\/wp-content\/uploads\/2026\/10\/cropped-cropped-cropped-logo-10-1.webp","contentUrl":"https:\/\/voronov.solutions\/wp-content\/uploads\/2026\/10\/cropped-cropped-cropped-logo-10-1.webp","width":815,"height":152,"caption":"VORONOV Solutions"},"image":{"@id":"https:\/\/voronov.solutions\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/instagram.com\/voronov.solutions"]},{"@type":"Person","@id":"https:\/\/voronov.solutions\/#\/schema\/person\/0c5dea592b83ad404234fdc21f21c0b4","name":"Oleh Voronov","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/65c95db9b330300501dfce824f89b9259da9280086547992773abe09d53e5d78?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/65c95db9b330300501dfce824f89b9259da9280086547992773abe09d53e5d78?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/65c95db9b330300501dfce824f89b9259da9280086547992773abe09d53e5d78?s=96&d=mm&r=g","caption":"Oleh Voronov"}}]}},"_links":{"self":[{"href":"https:\/\/voronov.solutions\/en\/wp-json\/wp\/v2\/posts\/12103","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/voronov.solutions\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/voronov.solutions\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/voronov.solutions\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/voronov.solutions\/en\/wp-json\/wp\/v2\/comments?post=12103"}],"version-history":[{"count":2,"href":"https:\/\/voronov.solutions\/en\/wp-json\/wp\/v2\/posts\/12103\/revisions"}],"predecessor-version":[{"id":12111,"href":"https:\/\/voronov.solutions\/en\/wp-json\/wp\/v2\/posts\/12103\/revisions\/12111"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/voronov.solutions\/en\/wp-json\/wp\/v2\/media\/12108"}],"wp:attachment":[{"href":"https:\/\/voronov.solutions\/en\/wp-json\/wp\/v2\/media?parent=12103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/voronov.solutions\/en\/wp-json\/wp\/v2\/categories?post=12103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/voronov.solutions\/en\/wp-json\/wp\/v2\/tags?post=12103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}