diff --git a/partner-scrappingkisel.js b/partner-scrappingkisel.js
index ac41c76..10f58aa 100644
--- a/partner-scrappingkisel.js
+++ b/partner-scrappingkisel.js
@@ -91,6 +91,11 @@ function topupRequest(task) {
                 var stocks = result.trx_response.stock.join(' ').trim();
                 var stock = parseStock(stocks, product);
                 
+                if (stock == 0) {
+                    console.log('OUT OF STOCK: ' + task['product']);
+                    config.globals.products = productsWithout(task['product']);
+                }
+                
                 response_code = '00';
                 
                 message = 'SN=' + kode_voucher + '; ' + product + ' ' + destination + ' ' + harga + ' ref_num: ' + ref_num + ' kode_voucher: ' + kode_voucher + ' sisa stock: ' + stock + ' unit';
@@ -139,7 +144,24 @@ function parseStock(stocks, product_desc) {
     return 0;
 }
 
+function productsWithout(to_be_removed, products) {
+    if (products === undefined) {
+        products = config.globals.products;
+    }
+    
+    if (products.search(/,$/) == -1) {
+        products = products + ',';
+    }
+    
+    products = products.replace(/\s+/, '');
+    products = products.replace(to_be_removed + ',' , '');
+    products = products.replace(/,$/, '');
+    
+    return products;
+}
+
 exports.start = start;
 exports.topupRequest = topupRequest;
 exports.stockKeyword = stockKeyword;
 exports.parseStock = parseStock;
+exports.productsWithout = productsWithout;
diff --git a/test.js b/test.js
index 7a7d429..8f9f1ad 100644
--- a/test.js
+++ b/test.js
@@ -32,7 +32,7 @@ describe('aaa', function() {
     });
 });
 
-describe('aaa', function() {
+describe('partner', function() {
     var partner = require('./partner-scrappingkisel');
     
     describe("#stockKeyword", function() {
@@ -87,4 +87,24 @@ describe('aaa', function() {
         });
         
     });
+    
+    describe('#productsWithout', function () {
+        
+        it('should return S10,S20,S50,S100', function() {
+            assert.equal('S10,S20,S50,S100', partner.productsWithout('S25', 'S10,S20,S25,S50,S100'));
+        });
+        
+        it('should return S10,S20,S25,S50', function() {
+            assert.equal('S10,S20,S25,S50', partner.productsWithout('S100', 'S10,S20,S25,S50,S100'));
+        });
+        
+        it('should return S20,S25,S50,S100', function() {
+            assert.equal('S20,S25,S50,S100', partner.productsWithout('S10', 'S10,S20,S25,S50,S100'));
+        });
+        
+        it('should return S10,S20,S25,S50', function() {
+            assert.equal('S10,S20,S25,S50', partner.productsWithout('S100', 'S10,S20,S25,S50'));
+        });
+        
+    });
 });