case "getInitData":
     //\ZP\ZP::log('Opened Reconciliation', 'Opened Reconciliation', $_SESSION['user']->getID(), $_SESSION['module_number']);
     print json_encode(['success' => true, 'companies' => $dao->getInitData()]);
     break;
 case "edit-reconciliation":
     $typeID = $_REQUEST['typeID'];
     $groupID = $_REQUEST['groupID'];
     $mine = $_REQUEST['mine'];
     $period = intval($_REQUEST['period']);
     $type = $_REQUEST['type'];
     $value = $_REQUEST['value'];
     $currency = $_REQUEST['currency'];
     //exit(json_encode($_REQUEST));
     // validate payment type and group ID
     if (!call_user_func(function ($typeID, $groupID) {
         $types = \ZP\ZP::getPaymentTypes();
         foreach ($types as $v) {
             if ($v->taxTypeID == $typeID && $v->paymentGroupID == $groupID) {
                 return true;
             }
         }
         return false;
     }, $typeID, $groupID)) {
         exit(json_encode(['success' => false, 'message' => 'Invalid Payment Type ID and Payment Group ID selected. Please make a valid selection.']));
     }
     // validate mine
     if (!\ZP\ZP::getExtractiveCompany($mine)) {
         exit(json_encode(['success' => false, 'message' => 'Invalid Extractive Company selected. Please make a valid selection.']));
     }
     // validate period
     if ($period < 2010 && $period > date('Y')) {