{"id":402525,"date":"2026-11-13T01:08:21","date_gmt":"2026-11-13T01:08:21","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/qbp-sync-for-bsale\/"},"modified":"2026-11-13T01:08:12","modified_gmt":"2026-11-13T01:08:12","slug":"qbp-sync-for-bsale","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/qbp-sync-for-bsale\/","author":23603171,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.1.4","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"QBP Sync for Bsale","header_author":"Juan Pablo Gajardo","header_description":"Keeps WooCommerce stock and prices in sync with your Bsale account, matching products by SKU.","last_updated":"2026-11-13 01:08:12","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/quebuenapagina.info\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":71,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.2":{"tag":"1.0.2","author":"quebuenapagina","date":"2026-11-13 01:08:12","revision":3799496}},"upgrade_notice":{"1.0.2":"<p>Header cleanup.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3799496,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3799496,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3799496,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3799496,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.2"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Connection, status and log."}},"plugin_section":[],"plugin_tags":[259495,6601,12448,1558,286],"plugin_category":[45],"plugin_contributors":[292431],"plugin_business_model":[],"class_list":["post-402525","plugin","type-plugin","status-publish","hentry","plugin_tags-bsale","plugin_tags-inventory","plugin_tags-stock","plugin_tags-sync","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-quebuenapagina","plugin_committers-quebuenapagina"],"banners":{"banner":"https:\/\/ps.w.org\/qbp-sync-for-bsale\/assets\/banner-772x250.png?rev=3799496","banner_2x":"https:\/\/ps.w.org\/qbp-sync-for-bsale\/assets\/banner-1544x500.png?rev=3799496","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/qbp-sync-for-bsale\/assets\/icon-128x128.png?rev=3799496","icon_2x":"https:\/\/ps.w.org\/qbp-sync-for-bsale\/assets\/icon-256x256.png?rev=3799496","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>QBP Sync for Bsale connects your WooCommerce store with <a href=\"https:\/\/www.bsale.cl\/\">Bsale<\/a>, the point-of-sale and invoicing system used by thousands of businesses in Chile, Peru and Mexico.<\/p>\n\n<p>Paste your Bsale access token and the plugin reads your variants, stock and prices from Bsale and writes them into WooCommerce. Products are matched by SKU: the SKU of a WooCommerce product or variation must be the same as the variant code in Bsale (case and spaces are ignored).<\/p>\n\n<p><strong>What it does<\/strong><\/p>\n\n<ul>\n<li>Syncs available stock (all offices added together) into WooCommerce and turns on stock management for matched products.<\/li>\n<li>Syncs the regular price from your first active price list, tax included.<\/li>\n<li>Runs one automatic sync right after you connect and then one every 30 days.<\/li>\n<li>Works on shared hosting: the sync runs in short, resumable steps and never runs twice at the same time.<\/li>\n<li>Never sets a price to zero and never touches products whose SKU is not found in Bsale.<\/li>\n<li>Shows a short log of the last runs.<\/li>\n<li>Compatible with WooCommerce High-Performance Order Storage.<\/li>\n<\/ul>\n\n<p><strong>QBP Sync for Bsale Pro (separate add-on)<\/strong><\/p>\n\n<p>If you need your store updated more often, the Pro add-on \u2014 sold separately at quebuenapagina.info \u2014 adds automatic sync every 15 minutes, 30 minutes, hour, 6 hours or daily, a \"Sync now\" button, price list and office selection, prices with or without tax, stock-only or price-only modes, out-of-stock for products missing in Bsale, \"5+\" stock display, email alerts, a server cron URL, a longer log and a CSV of unmatched SKUs. This plugin works fully on its own without it.<\/p>\n\n<p>This plugin is not affiliated with or endorsed by Bsale.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the Bsale REST API (https:\/\/api.bsale.io\/v1\/) to read your product variants, stock, price lists and offices. It is required to do what the plugin is for.<\/p>\n\n<ul>\n<li>What is sent: your Bsale access token (in the request header) and paging parameters. No customer or order data is sent.<\/li>\n<li>When: when you press \"Test connection\" and every time a sync runs (right after connecting and then every 30 days, or as configured by an extension).<\/li>\n<li>Service provided by Bsale: <a href=\"https:\/\/www.bsale.cl\/sheet\/condiciones-uso\">Terms of use<\/a> \u00b7 <a href=\"https:\/\/www.bsale.cl\/sheet\/politica-privacidad\">Privacy policy<\/a> \u00b7 <a href=\"https:\/\/docs.bsale.dev\/\">API documentation<\/a><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate WooCommerce.<\/li>\n<li>Install this plugin from Plugins \u2192 Add New, or upload the zip, and activate it.<\/li>\n<li>Go to WooCommerce \u2192 Bsale Sync.<\/li>\n<li>Paste your Bsale access token and press Save.<\/li>\n<li>Press \"Test connection\". The first sync starts about a minute later.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20find%20my%20bsale%20access%20token%3F\"><h3>Where do I find my Bsale access token?<\/h3><\/dt>\n<dd><p>In your Bsale account, under the API \/ integrations settings. If you cannot see it, ask Bsale support to enable API access for your account.<\/p><\/dd>\n<dt id=\"how%20are%20products%20matched%3F\"><h3>How are products matched?<\/h3><\/dt>\n<dd><p>By SKU. The SKU of the WooCommerce product (or variation) must equal the variant code in Bsale. Products without a SKU are ignored.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20products%20that%20are%20not%20in%20bsale%3F\"><h3>What happens to products that are not in Bsale?<\/h3><\/dt>\n<dd><p>Nothing. They are left exactly as they are and counted as \"not found\" in the log.<\/p><\/dd>\n<dt id=\"can%20i%20sync%20more%20often%20than%20every%2030%20days%3F\"><h3>Can I sync more often than every 30 days?<\/h3><\/dt>\n<dd><p>Yes, with the Pro add-on, which lets you choose from 15 minutes to daily, or sync by hand at any time.<\/p><\/dd>\n<dt id=\"does%20it%20create%20products%3F\"><h3>Does it create products?<\/h3><\/dt>\n<dd><p>No. It only updates stock and prices of products that already exist in WooCommerce.<\/p><\/dd>\n<dt id=\"my%20sync%20seems%20stuck\"><h3>My sync seems stuck<\/h3><\/dt>\n<dd><p>WordPress scheduled tasks need visits to your site to run. On low-traffic sites, configure a real cron job in your hosting panel. If a run is stuck, use \"Reset status\" on the settings page.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Header cleanup.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>\"See Pro\" now opens the Pro product page.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"Keep your WooCommerce stock and prices in sync with Bsale, matching products by SKU.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/402525","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=402525"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/quebuenapagina"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=402525"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=402525"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=402525"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=402525"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=402525"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=402525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}