//set timetamp based on when cron is called,
    //if >=23 then consider grabbing today as period
    //else then always use previous day as period
    ReportBookkeeping::setOptionArchiveQueryAsExcel(true);
    $logger->write('Generating Period');
    $period_timestamp = date('G') >= 23 ? time() : strtotime('-1 day');
    $period = date(ReportBookkeeping::PERIOD_DATE_FORMAT, $period_timestamp);
    $logger->write('Query Invoices in Period');
    $invoice_quantity = ReportBookkeeping::getInvoiceTotalQuantity($period);
    $invoice_amount = ReportBookkeeping::getInvoiceTotalAmount($period);
    $logger->write('Query Receipts in Period');
    $receipts = ReportBookkeeping::getReceiptTotal($period);
    $receipts_late_from_prev_month = ReportBookkeeping::getReceiptTotalLateFromPreviousPeriod($period);
    $logger->write('Query Returns');
    $returns = ReportBookkeeping::getReturnTotal($period);
    $returns_same_period = ReportBookkeeping::getTotalReturnsSamePeriod($period);
    $logger->write('Query Open Amount');
    $open_amount = ReportBookkeeping::getOpenInvoiceTotalAmount($period, ReportBookkeeping::OPEN_INVOICE_MODE_CURRENT);
    $open_amount_prev0 = ReportBookkeeping::getOpenInvoiceTotalAmount($period, ReportBookkeeping::OPEN_INVOICE_MODE_CURRENT_PREV_PERIOD0);
    $open_amount_prev1 = ReportBookkeeping::getOpenInvoiceTotalAmount($period, ReportBookkeeping::OPEN_INVOICE_MODE_CURRENT_PREV_PERIOD1);
    $open_amount_prev2 = ReportBookkeeping::getOpenInvoiceTotalAmount($period, ReportBookkeeping::OPEN_INVOICE_MODE_CURRENT_PREV_PERIOD2);
    $logger->write('Query Stock Total');
    $stock_total_qty = ReportBookkeeping::getStockQuantityTotal(WAREHOUSE_ID_FOR_HANDLING_ORDERS);
    $stock_total_value = ReportBookkeeping::getStockValueTotal(WAREHOUSE_ID_FOR_HANDLING_ORDERS);
    $logger->write('Query Stock Incoming');
    $stock_incoming_qty = ReportBookkeeping::getStockIncomingQuantityTotal();
    $stock_incoming_value = ReportBookkeeping::getStockIncomingValueTotal();
    $logger->write('Save bookkeeping data for period ' . $period);
    ReportBookkeeping::add($period, $invoice_quantity, $invoice_amount, $receipts, $receipts_late_from_prev_month, $returns, $returns_same_period, $open_amount, $open_amount_prev0, $open_amount_prev1, $open_amount_prev2, $stock_total_qty, $stock_total_value, $stock_incoming_qty, $stock_incoming_value);
}
$logger->close();