{"id":7522,"date":"2026-06-24T16:55:18","date_gmt":"2026-06-24T09:55:18","guid":{"rendered":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/?p=7522"},"modified":"2026-06-24T16:55:18","modified_gmt":"2026-06-24T09:55:18","slug":"api_stockbalance","status":"publish","type":"post","link":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/api_stockbalance\/","title":{"rendered":"Stock Balance Module"},"content":{"rendered":"<h5><strong>SKYBIZ API \u2014 Stock Balance Module<\/strong><\/h5>\n<h3><strong>Stock Balance<\/strong><\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">The Stock Balance module allows you to retrieve the current on-hand quantity of items across different locations in your SKYBIZ account. Supports <strong>read<\/strong> operation only.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"><strong>Endpoint:<\/strong> <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">\/apiv2\/modules\/stock_balance.php<\/code><\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"><strong>Required Permissions:<\/strong> Stock Balance \u2014 Read<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"><strong>Note:<\/strong> This module only supports <strong>read<\/strong> operation.<\/p>\n<hr \/>\n<h3><strong>Read Stock Balance<\/strong><\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Retrieves the on-hand quantity for specified items and locations as of the given date. The calculation includes all IN (GRN, Transfers In) and OUT (Sales, Transfers Out) transactions up to the specified date.<\/p>\n<h4>Base Request Structure<\/h4>\n<pre>{\r\n  \"api_key\": \"your-api-key\",\r\n  \"api_secret\": \"your-api-secret\",\r\n  \"action\": \"read\",\r\n  \"date\": \"YYYY-MM-DD\",\r\n  \"item_code\": [\"ITEM001\", \"ITEM002\"],\r\n  \"location_code\": [\"LOC001\", \"LOC002\"]\r\n}<\/pre>\n<h4>Request Parameters<\/h4>\n<div class=\"overflow-x-auto w-full px-2 mb-6\">\n<table class=\"min-w-full border-collapse text-sm leading-[1.7] whitespace-normal\">\n<thead class=\"text-left\">\n<tr>\n<th class=\"text-text-100 border-b-0.5 border-border-300\/60 py-2 pr-4 align-top font-bold\" scope=\"col\">Parameter<\/th>\n<th class=\"text-text-100 border-b-0.5 border-border-300\/60 py-2 pr-4 align-top font-bold\" scope=\"col\">Description<\/th>\n<th class=\"text-text-100 border-b-0.5 border-border-300\/60 py-2 pr-4 align-top font-bold\" scope=\"col\">Required<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td class=\"border-b-0.5 border-border-300\/30 py-2 pr-4 align-top\"><code>api_key<\/code><\/td>\n<td class=\"border-b-0.5 border-border-300\/30 py-2 pr-4 align-top\">Your API key<\/td>\n<td class=\"border-b-0.5 border-border-300\/30 py-2 pr-4 align-top\">Yes<\/td>\n<\/tr>\n<tr>\n<td class=\"border-b-0.5 border-border-300\/30 py-2 pr-4 align-top\"><code>api_secret<\/code><\/td>\n<td class=\"border-b-0.5 border-border-300\/30 py-2 pr-4 align-top\">Your API secret<\/td>\n<td class=\"border-b-0.5 border-border-300\/30 py-2 pr-4 align-top\">Yes<\/td>\n<\/tr>\n<tr>\n<td class=\"border-b-0.5 border-border-300\/30 py-2 pr-4 align-top\"><code>action<\/code><\/td>\n<td class=\"border-b-0.5 border-border-300\/30 py-2 pr-4 align-top\">Must be <code>\"read\"<\/code><\/td>\n<td class=\"border-b-0.5 border-border-300\/30 py-2 pr-4 align-top\">Yes<\/td>\n<\/tr>\n<tr>\n<td class=\"border-b-0.5 border-border-300\/30 py-2 pr-4 align-top\"><code>date<\/code><\/td>\n<td class=\"border-b-0.5 border-border-300\/30 py-2 pr-4 align-top\">Date in YYYY-MM-DD format. On-hand balance is calculated up to this date.<\/td>\n<td class=\"border-b-0.5 border-border-300\/30 py-2 pr-4 align-top\">Yes<\/td>\n<\/tr>\n<tr>\n<td class=\"border-b-0.5 border-border-300\/30 py-2 pr-4 align-top\"><code>item_code<\/code><\/td>\n<td class=\"border-b-0.5 border-border-300\/30 py-2 pr-4 align-top\">Array of item codes. Min 1 item, max 100 items.<\/td>\n<td class=\"border-b-0.5 border-border-300\/30 py-2 pr-4 align-top\">Yes<\/td>\n<\/tr>\n<tr>\n<td class=\"border-b-0.5 border-border-300\/30 py-2 pr-4 align-top\"><code>location_code<\/code><\/td>\n<td class=\"border-b-0.5 border-border-300\/30 py-2 pr-4 align-top\">Array of location codes. Min 1 location.<\/td>\n<td class=\"border-b-0.5 border-border-300\/30 py-2 pr-4 align-top\">Yes<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h4>Date Rules<\/h4>\n<ul>\n<li>Format must be <code>YYYY-MM-DD<\/code> \u2014 e.g. <code>\"2026-06-23\"<\/code><\/li>\n<li>Date is required \u2014 you cannot omit it<\/li>\n<li>Stock balance is calculated up to and including the specified date<\/li>\n<li>The system calculates: <code>date_from = date - 1 day<\/code> and <code>date_to = date<\/code><\/li>\n<\/ul>\n<h4>Item Code Rules<\/h4>\n<ul>\n<li>Must be an array \u2014 e.g. <code>[\"ITEM001\", \"ITEM002\"]<\/code><\/li>\n<li>Minimum 1 item<\/li>\n<li>Maximum 100 items<\/li>\n<li>Each item code must not be empty<\/li>\n<\/ul>\n<h4>Location Code Rules<\/h4>\n<ul>\n<li>Must be an array \u2014 e.g. <code>[\"LOC001\", \"LOC002\"]<\/code><\/li>\n<li>Minimum 1 location<\/li>\n<li>Each location code must not be empty<\/li>\n<\/ul>\n<hr \/>\n<h3><strong>Response Fields<\/strong><\/h3>\n<div class=\"overflow-x-auto w-full px-2 mb-6\">\n<table class=\"min-w-full border-collapse text-sm leading-[1.7] whitespace-normal\">\n<thead class=\"text-left\">\n<tr>\n<th>Field<\/th>\n<th>Type<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>ItemCode<\/code><\/td>\n<td>string<\/td>\n<td>Item code<\/td>\n<\/tr>\n<tr>\n<td><code>LocationCode<\/code><\/td>\n<td>string<\/td>\n<td>Location code where the stock is held<\/td>\n<\/tr>\n<tr>\n<td><code>Onhand<\/code><\/td>\n<td>integer<\/td>\n<td>On-hand quantity as of the specified date<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<hr \/>\n<h3><strong>Example 1 \u2014 Get Stock Balance for Specific Items and Locations<\/strong><\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">This request returns the on-hand quantity for ITEM100, ITEM200, and ITEM300 at LOC001, LOC002, and LOC003 as of 2026-06-23.<\/p>\n<h4>Request<\/h4>\n<pre>{\r\n  \"api_key\": \"your-api-key\",\r\n  \"api_secret\": \"your-api-secret\",\r\n  \"action\": \"read\",\r\n  \"date\": \"2026-06-23\",\r\n  \"item_code\": [\"ITEM100\", \"ITEM200\", \"ITEM300\"],\r\n  \"location_code\": [\"LOC001\", \"LOC002\", \"LOC003\"]\r\n}<\/pre>\n<h4>Response (Success)<\/h4>\n<pre>{\r\n  \"status\": \"response\",\r\n  \"timestamp\": \"2026-06-23T15:14:48+08:00\",\r\n  \"request_id\": \"req_6a3a3ee854374\",\r\n  \"data\": {\r\n    \"requested_by\": \"your-api-key\",\r\n    \"mode\": \"2\",\r\n    \"batch_id\": \"API20260623151448\",\r\n    \"date_processed\": \"2026-06-23\",\r\n    \"date_range\": {\r\n      \"from\": \"2026-06-22\",\r\n      \"to\": \"2026-06-23\"\r\n    },\r\n    \"total_records\": 4,\r\n    \"data\": [\r\n      {\r\n        \"ItemCode\": \"ITEM100\",\r\n        \"LocationCode\": \"LOC001\",\r\n        \"Onhand\": 45\r\n      },\r\n      {\r\n        \"ItemCode\": \"ITEM100\",\r\n        \"LocationCode\": \"LOC002\",\r\n        \"Onhand\": 25\r\n      },\r\n      {\r\n        \"ItemCode\": \"ITEM200\",\r\n        \"LocationCode\": \"LOC001\",\r\n        \"Onhand\": 17\r\n      },\r\n      {\r\n        \"ItemCode\": \"ITEM300\",\r\n        \"LocationCode\": \"LOC003\",\r\n        \"Onhand\": 90\r\n      }\r\n    ]\r\n  }\r\n}<\/pre>\n<h4>Sample Code for making an API READ request using php<\/h4>\n<pre>&lt;?php\r\nheader('Content-Type: application\/json');\r\n\r\n\/\/ ============================================================\r\n\/\/ STEP 1: CONFIGURATION\r\n\/\/ ============================================================\r\n\r\n$API_KEY = \"your-api-key\";\r\n$API_SECRET = \"your-api-secret\";\r\n$ACTION = \"read\";\r\n$DATE = \"2026-06-23\";\r\n\r\n\/\/ Item and location codes (required)\r\n$ITEM_CODES = [\"ITEM100\", \"ITEM200\", \"ITEM300\"];\r\n$LOCATION_CODES = [\"LOC001\", \"LOC002\", \"LOC003\"];\r\n\r\n\/\/ ============================================================\r\n\/\/ STEP 2: ENDPOINT\r\n\/\/ ============================================================\r\n\r\n$BASE_URL = \"https:\/\/domain-name\/01\/clientportal\/apiv2\/modules\"; \/\/(replace it with your skybiz domain name url)\r\n$ENDPOINT = \"stock_balance.php\";\r\n\r\n\/\/ ============================================================\r\n\/\/ STEP 3: BUILD PAYLOAD\r\n\/\/ ============================================================\r\n\r\n$payload = [\r\n    \"api_key\" =&gt; $API_KEY,\r\n    \"api_secret\" =&gt; $API_SECRET,\r\n    \"action\" =&gt; $ACTION,\r\n    \"date\" =&gt; $DATE,\r\n    \"item_code\" =&gt; $ITEM_CODES,\r\n    \"location_code\" =&gt; $LOCATION_CODES\r\n];\r\n\r\n\/\/ ============================================================\r\n\/\/ STEP 4: SEND REQUEST\r\n\/\/ ============================================================\r\n\r\n$url = rtrim($BASE_URL, '\/') . '\/' . ltrim($ENDPOINT, '\/');\r\n\r\n$ch = curl_init($url);\r\n\r\ncurl_setopt_array($ch, [\r\n    CURLOPT_RETURNTRANSFER =&gt; true,\r\n    CURLOPT_POST =&gt; true,\r\n    CURLOPT_POSTFIELDS =&gt; json_encode($payload),\r\n    CURLOPT_HTTPHEADER =&gt; ['Content-Type: application\/json'],\r\n    CURLOPT_TIMEOUT =&gt; 30,\r\n]);\r\n\r\n$response = curl_exec($ch);\r\n\r\n\/\/ ============================================================\r\n\/\/ STEP 5: HANDLE CURL ERROR\r\n\/\/ ============================================================\r\n\r\nif ($response === false) {\r\n    echo json_encode([\r\n        \"status\" =&gt; \"error\",\r\n        \"timestamp\" =&gt; date(\"c\"),\r\n        \"request_id\" =&gt; uniqid(\"req_\"),\r\n        \"message\" =&gt; curl_error($ch)\r\n    ], JSON_PRETTY_PRINT);\r\n    curl_close($ch);\r\n    exit;\r\n}\r\n\r\n$httpStatus = curl_getinfo($ch, CURLINFO_HTTP_CODE);\r\ncurl_close($ch);\r\n\r\n\/\/ ============================================================\r\n\/\/ STEP 6: DECODE RESPONSE\r\n\/\/ ============================================================\r\n\r\n$result = json_decode($response, true);\r\n\r\nif (!$result) {\r\n    echo json_encode([\r\n        \"status\" =&gt; \"error\",\r\n        \"timestamp\" =&gt; date(\"c\"),\r\n        \"request_id\" =&gt; uniqid(\"req_\"),\r\n        \"message\" =&gt; \"Invalid JSON from API\",\r\n        \"raw_response\" =&gt; $response\r\n    ], JSON_PRETTY_PRINT);\r\n    exit;\r\n}\r\n\r\n\/\/ ============================================================\r\n\/\/ STEP 7: RETURN CLEAN JSON FORMAT\r\n\/\/ ============================================================\r\n\r\necho json_encode([\r\n    \"status\" =&gt; $result['status'] ?? \"error\",\r\n    \"timestamp\" =&gt; date(\"c\"),\r\n    \"request_id\" =&gt; $result['request_id'] ?? uniqid(\"req_\"),\r\n    \"data\" =&gt; $result['data'] ?? null,\r\n    \"message\" =&gt; $result['message'] ?? null\r\n], JSON_PRETTY_PRINT);\r\n?&gt;<\/pre>\n<hr \/>\n<h3><strong>Postman Steps \u2014 READ Request<\/strong><\/h3>\n<ol>\n<li>Set method to <strong>POST<\/strong><\/li>\n<\/ol>\n<p><a href=\"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7524\" src=\"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance1.png\" alt=\"\" width=\"1226\" height=\"408\" srcset=\"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance1.png 1226w, https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance1-300x100.png 300w, https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance1-1024x341.png 1024w, https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance1-768x256.png 768w, https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance1-150x50.png 150w\" sizes=\"auto, (max-width: 1226px) 100vw, 1226px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<ol start=\"2\">\n<li>Enter URL: <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">https:\/\/your-domain\/01\/clientportal\/apiv2\/modules\/stock_balance.php<\/code><\/li>\n<\/ol>\n<p><a href=\"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-7525 size-full\" src=\"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance2.png\" alt=\"\" width=\"1229\" height=\"277\" srcset=\"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance2.png 1229w, https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance2-300x68.png 300w, https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance2-1024x231.png 1024w, https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance2-768x173.png 768w, https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance2-150x34.png 150w\" sizes=\"auto, (max-width: 1229px) 100vw, 1229px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<ol start=\"3\">\n<li>Set header: <code class=\"bg-text-200\/5 border border-0.5 border-border-300 text-danger-000 whitespace-pre-wrap rounded-[0.4rem] px-1 py-px text-[0.9rem]\">Content-Type: application\/json<\/code><\/li>\n<\/ol>\n<p><a href=\"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7526\" src=\"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance3.png\" alt=\"\" width=\"1226\" height=\"343\" srcset=\"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance3.png 1226w, https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance3-300x84.png 300w, https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance3-1024x286.png 1024w, https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance3-768x215.png 768w, https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance3-150x42.png 150w\" sizes=\"auto, (max-width: 1226px) 100vw, 1226px\" \/><\/a><\/p>\n<ol start=\"4\">\n<li>Under <strong>Body<\/strong>, select <strong>raw<\/strong> and format <strong>JSON<\/strong><\/li>\n<\/ol>\n<p><a href=\"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7527\" src=\"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance4.png\" alt=\"\" width=\"1226\" height=\"350\" srcset=\"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance4.png 1226w, https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance4-300x86.png 300w, https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance4-1024x292.png 1024w, https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance4-768x219.png 768w, https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance4-150x43.png 150w\" sizes=\"auto, (max-width: 1226px) 100vw, 1226px\" \/><\/a><\/p>\n<ol start=\"5\">\n<li>Paste your request payload and click <strong>Send<\/strong><\/li>\n<\/ol>\n<p><a href=\"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7528\" src=\"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance5.png\" alt=\"\" width=\"1224\" height=\"919\" srcset=\"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance5.png 1224w, https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance5-300x225.png 300w, https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance5-1024x769.png 1024w, https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance5-768x577.png 768w, https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance5-150x113.png 150w\" sizes=\"auto, (max-width: 1224px) 100vw, 1224px\" \/><\/a><\/p>\n<hr \/>\n<h3><strong>Error Responses<\/strong><\/h3>\n<h4>Missing Date<\/h4>\n<pre>{\r\n  \"status\": \"error\",\r\n  \"timestamp\": \"2026-06-23T10:46:15+08:00\",\r\n  \"request_id\": \"req_6612f3b9c21a7\",\r\n  \"message\": \"Date is required\"\r\n}<\/pre>\n<h4>Invalid Date Format<\/h4>\n<pre>{\r\n  \"status\": \"error\",\r\n  \"timestamp\": \"2026-06-23T10:46:15+08:00\",\r\n  \"request_id\": \"req_6612f3b9c21a7\",\r\n  \"message\": \"Invalid date format. Use YYYY-MM-DD format\"\r\n}<\/pre>\n<h4>Missing item_code<\/h4>\n<pre>{\r\n  \"status\": \"error\",\r\n  \"timestamp\": \"2026-06-23T10:46:15+08:00\",\r\n  \"request_id\": \"req_6612f3b9c21a7\",\r\n  \"message\": \"item_code is required and must contain at least 1 item\"\r\n}<\/pre>\n<h4>Missing location_code<\/h4>\n<pre>{\r\n  \"status\": \"error\",\r\n  \"timestamp\": \"2026-06-23T10:46:15+08:00\",\r\n  \"request_id\": \"req_6612f3b9c21a7\",\r\n  \"message\": \"location_code is required and must contain at least 1 location\"\r\n}<\/pre>\n<h4>Empty item_code Array<\/h4>\n<pre>{\r\n  \"status\": \"error\",\r\n  \"timestamp\": \"2026-06-23T10:46:15+08:00\",\r\n  \"request_id\": \"req_6612f3b9c21a7\",\r\n  \"message\": \"item_code must contain at least 1 item\"\r\n}<\/pre>\n<h4>Empty location_code Array<\/h4>\n<pre>{\r\n  \"status\": \"error\",\r\n  \"timestamp\": \"2026-06-23T10:46:15+08:00\",\r\n  \"request_id\": \"req_6612f3b9c21a7\",\r\n  \"message\": \"location_code must contain at least 1 location\"\r\n}<\/pre>\n<h4>Exceed 100 Items (&gt;100)<\/h4>\n<pre>{\r\n  \"status\": \"error\",\r\n  \"timestamp\": \"2026-06-23T10:46:15+08:00\",\r\n  \"request_id\": \"req_6612f3b9c21a7\",\r\n  \"message\": \"Maximum 100 item codes allowed. You sent 101 items\"\r\n}<\/pre>\n<h4>No Read Permission<\/h4>\n<pre>{\r\n  \"status\": \"error\",\r\n  \"timestamp\": \"2026-06-23T10:46:15+08:00\",\r\n  \"request_id\": \"req_6612f3b9c21a7\",\r\n  \"message\": \"Stock Balance read permission denied\"\r\n}<\/pre>\n<h4>No Data Found<\/h4>\n<pre>{\r\n  \"status\": \"response\",\r\n  \"timestamp\": \"2026-06-23T10:46:15+08:00\",\r\n  \"request_id\": \"req_6612f3b9c21a7\",\r\n  \"data\": {\r\n    \"requested_by\": \"your-api-key\",\r\n    \"mode\": \"2\",\r\n    \"batch_id\": \"API20260623104615\",\r\n    \"date_processed\": \"2026-06-23\",\r\n    \"date_range\": {\r\n      \"from\": \"2026-06-22\",\r\n      \"to\": \"2026-06-23\"\r\n    },\r\n    \"total_records\": 0,\r\n    \"message\": \"No stock balance data found for the specified criteria\",\r\n    \"data\": []\r\n  }\r\n}<\/pre>\n<hr \/>\n<h3><strong>Common Errors \u2014 Stock Balance Module<\/strong><\/h3>\n<div class=\"overflow-x-auto w-full px-2 mb-6\">\n<table class=\"min-w-full border-collapse text-sm leading-[1.7] whitespace-normal\">\n<thead class=\"text-left\">\n<tr>\n<th>Error Message<\/th>\n<th>Cause<\/th>\n<th>Fix<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>\"Date is required\"<\/code><\/td>\n<td>Missing date parameter<\/td>\n<td>Add <code>date<\/code> field in YYYY-MM-DD format<\/td>\n<\/tr>\n<tr>\n<td><code>\"Invalid date format. Use YYYY-MM-DD format\"<\/code><\/td>\n<td>Wrong date format<\/td>\n<td>Use YYYY-MM-DD \u2014 e.g. <code>\"2026-06-23\"<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>\"item_code is required and must contain at least 1 item\"<\/code><\/td>\n<td>Missing item_code parameter<\/td>\n<td>Add <code>item_code<\/code> array with at least 1 item<\/td>\n<\/tr>\n<tr>\n<td><code>\"location_code is required and must contain at least 1 location\"<\/code><\/td>\n<td>Missing location_code parameter<\/td>\n<td>Add <code>location_code<\/code> array with at least 1 location<\/td>\n<\/tr>\n<tr>\n<td><code>\"item_code must contain at least 1 item\"<\/code><\/td>\n<td>Empty item_code array<\/td>\n<td>Add at least 1 item code to the array<\/td>\n<\/tr>\n<tr>\n<td><code>\"location_code must contain at least 1 location\"<\/code><\/td>\n<td>Empty location_code array<\/td>\n<td>Add at least 1 location code to the array<\/td>\n<\/tr>\n<tr>\n<td><code>\"Maximum 100 item codes allowed. You sent X items\"<\/code><\/td>\n<td>Too many item codes<\/td>\n<td>Reduce to 100 items or fewer<\/td>\n<\/tr>\n<tr>\n<td><code>\"No stock balance data found for the specified criteria\"<\/code><\/td>\n<td>No transactions found for the given items\/locations\/date<\/td>\n<td>Check if items\/locations exist and have transactions<\/td>\n<\/tr>\n<tr>\n<td><code>\"Stock Balance read permission denied\"<\/code><\/td>\n<td>No read permission for Stock Balance module<\/td>\n<td>Enable read permission in portal by contacting your SkyBiz Admin<\/td>\n<\/tr>\n<tr>\n<td><code>\"Invalid action. Only 'read' is allowed for Stock Balance API\"<\/code><\/td>\n<td>Wrong action used<\/td>\n<td>Use <code>\"read\"<\/code> as the action<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>SKYBIZ API \u2014 Stock Balance Module Stock Balance The Stock Balance module allows you to retrieve the current on-hand quantity of items across different locations in your SKYBIZ account. Supports read operation only. Endpoint: \/apiv2\/modules\/stock_balance.php Required Permissions: Stock Balance \u2014 Read Note: This module only supports read operation. Read Stock Balance Retrieves the on-hand quantity ..<\/p>\n<div class=\"clear-fix\"><\/div>\n<p><a href=\"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/api_stockbalance\/\" title=\"read more...\">Read more<\/a><\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[213,224],"tags":[],"class_list":["post-7522","post","type-post","status-publish","format-standard","hentry","category-10-api-documentation","category-1009-stock-balance"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Stock Balance Module - SKYBIZ Cloud ERP Support<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Stock Balance Module - SKYBIZ Cloud ERP Support\" \/>\n<meta property=\"og:description\" content=\"SKYBIZ API \u2014 Stock Balance Module Stock Balance The Stock Balance module allows you to retrieve the current on-hand quantity of items across different locations in your SKYBIZ account. Supports read operation only. Endpoint: \/apiv2\/modules\/stock_balance.php Required Permissions: Stock Balance \u2014 Read Note: This module only supports read operation. Read Stock Balance Retrieves the on-hand quantity ..Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/api_stockbalance\/\" \/>\n<meta property=\"og:site_name\" content=\"SKYBIZ Cloud ERP Support\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-24T09:55:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1226\" \/>\n\t<meta property=\"og:image:height\" content=\"408\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"team 03\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"team 03\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/api_stockbalance\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/api_stockbalance\\\/\"},\"author\":{\"name\":\"team 03\",\"@id\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/#\\\/schema\\\/person\\\/f3a2bcb10e55b23238c1b160bb06d9a9\"},\"headline\":\"Stock Balance Module\",\"datePublished\":\"2026-06-24T09:55:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/api_stockbalance\\\/\"},\"wordCount\":441,\"image\":{\"@id\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/api_stockbalance\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/api_stockbalance1.png\",\"articleSection\":[\"10. API Documentation\",\"1009. Stock Balance\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/api_stockbalance\\\/\",\"url\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/api_stockbalance\\\/\",\"name\":\"Stock Balance Module - SKYBIZ Cloud ERP Support\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/api_stockbalance\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/api_stockbalance\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/api_stockbalance1.png\",\"datePublished\":\"2026-06-24T09:55:18+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/#\\\/schema\\\/person\\\/f3a2bcb10e55b23238c1b160bb06d9a9\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/api_stockbalance\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/api_stockbalance\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/api_stockbalance\\\/#primaryimage\",\"url\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/api_stockbalance1.png\",\"contentUrl\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/api_stockbalance1.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/api_stockbalance\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Stock Balance Module\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/#website\",\"url\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/\",\"name\":\"SKYBIZ Cloud ERP Support\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/#\\\/schema\\\/person\\\/f3a2bcb10e55b23238c1b160bb06d9a9\",\"name\":\"team 03\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ed4575e459e48798469dd7ea3f93c83386ac432dd3bfebbf7d56837d067cbb88?s=96&d=blank&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ed4575e459e48798469dd7ea3f93c83386ac432dd3bfebbf7d56837d067cbb88?s=96&d=blank&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ed4575e459e48798469dd7ea3f93c83386ac432dd3bfebbf7d56837d067cbb88?s=96&d=blank&r=g\",\"caption\":\"team 03\"},\"sameAs\":[\"http:\\\/\\\/skybiz.com.my\"],\"url\":\"https:\\\/\\\/aisupport.skybizglobal.com\\\/skybizclouderp\\\/author\\\/team03skybiz-com-my\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Stock Balance Module - SKYBIZ Cloud ERP Support","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"Stock Balance Module - SKYBIZ Cloud ERP Support","og_description":"SKYBIZ API \u2014 Stock Balance Module Stock Balance The Stock Balance module allows you to retrieve the current on-hand quantity of items across different locations in your SKYBIZ account. Supports read operation only. Endpoint: \/apiv2\/modules\/stock_balance.php Required Permissions: Stock Balance \u2014 Read Note: This module only supports read operation. Read Stock Balance Retrieves the on-hand quantity ..Read more","og_url":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/api_stockbalance\/","og_site_name":"SKYBIZ Cloud ERP Support","article_published_time":"2026-06-24T09:55:18+00:00","og_image":[{"width":1226,"height":408,"url":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance1.png","type":"image\/png"}],"author":"team 03","twitter_card":"summary_large_image","twitter_misc":{"Written by":"team 03","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/api_stockbalance\/#article","isPartOf":{"@id":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/api_stockbalance\/"},"author":{"name":"team 03","@id":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/#\/schema\/person\/f3a2bcb10e55b23238c1b160bb06d9a9"},"headline":"Stock Balance Module","datePublished":"2026-06-24T09:55:18+00:00","mainEntityOfPage":{"@id":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/api_stockbalance\/"},"wordCount":441,"image":{"@id":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/api_stockbalance\/#primaryimage"},"thumbnailUrl":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance1.png","articleSection":["10. API Documentation","1009. Stock Balance"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/api_stockbalance\/","url":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/api_stockbalance\/","name":"Stock Balance Module - SKYBIZ Cloud ERP Support","isPartOf":{"@id":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/#website"},"primaryImageOfPage":{"@id":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/api_stockbalance\/#primaryimage"},"image":{"@id":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/api_stockbalance\/#primaryimage"},"thumbnailUrl":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance1.png","datePublished":"2026-06-24T09:55:18+00:00","author":{"@id":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/#\/schema\/person\/f3a2bcb10e55b23238c1b160bb06d9a9"},"breadcrumb":{"@id":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/api_stockbalance\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/api_stockbalance\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/api_stockbalance\/#primaryimage","url":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance1.png","contentUrl":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-content\/uploads\/2026\/06\/api_stockbalance1.png"},{"@type":"BreadcrumbList","@id":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/api_stockbalance\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/"},{"@type":"ListItem","position":2,"name":"Stock Balance Module"}]},{"@type":"WebSite","@id":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/#website","url":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/","name":"SKYBIZ Cloud ERP Support","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/#\/schema\/person\/f3a2bcb10e55b23238c1b160bb06d9a9","name":"team 03","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ed4575e459e48798469dd7ea3f93c83386ac432dd3bfebbf7d56837d067cbb88?s=96&d=blank&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ed4575e459e48798469dd7ea3f93c83386ac432dd3bfebbf7d56837d067cbb88?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ed4575e459e48798469dd7ea3f93c83386ac432dd3bfebbf7d56837d067cbb88?s=96&d=blank&r=g","caption":"team 03"},"sameAs":["http:\/\/skybiz.com.my"],"url":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/author\/team03skybiz-com-my\/"}]}},"_links":{"self":[{"href":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-json\/wp\/v2\/posts\/7522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-json\/wp\/v2\/comments?post=7522"}],"version-history":[{"count":3,"href":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-json\/wp\/v2\/posts\/7522\/revisions"}],"predecessor-version":[{"id":7530,"href":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-json\/wp\/v2\/posts\/7522\/revisions\/7530"}],"wp:attachment":[{"href":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-json\/wp\/v2\/media?parent=7522"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-json\/wp\/v2\/categories?post=7522"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aisupport.skybizglobal.com\/skybizclouderp\/wp-json\/wp\/v2\/tags?post=7522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}