I took a quick look at the logicboxes module and found these lines of code
$vars = [
'years' => 1,
'order-id' => $fields->{'order-id'},
'exp-date' => $order->endtime,
'invoice-option' => 'NoInvoice'
];
foreach ($package->pricing as $pricing) {
if ($pricing->id == $service->pricing_id) {
$vars['years'] = $pricing->term;
break;
}
}
// Only process renewal if adding years today will add time to the expiry date
if (strtotime('+' . $vars['years'] . ' years') > $order->endtime) {
$response = $domains->renew($vars);
$this->processResponse($api, $response);
}
What it means is that if the end time fetched from logicboxes is farther in the future than the current time plus the number of year from the pricing term, then the request to renew will not be sent. I don't fully understand your problem, but is it possible that this accounts for it?