Jump to content

É possível mudar o vencimento de faturas atrasadas baseada no dia do pagamento?


William Marques

Recommended Posts

Sim.
Usando um hook, para que cada pagamento confirmado, o vencimento do produto seja alterado com a data de "hoje". 

Veja um exemplo: 

 

<?php

use WHMCS\Database\Capsule;

add_hook('InvoicePaid', 1, function($vars) {
    $invoiceId = $vars['invoiceid'];

    // Obtenha informações da fatura
    $invoice = Capsule::table('tblinvoices')->find($invoiceId);

    // Verifique se a fatura está associada a um produto
    if ($invoice && $invoice->userid && $invoice->total > 0) {
        // Obtenha os itens da fatura
        $invoiceItems = Capsule::table('tblinvoiceitems')->where('invoiceid', $invoiceId)->get();

        foreach ($invoiceItems as $item) {
            // Verifique se o item está associado a um produto
            if ($item->relid > 0) {
                // Obtenha informações do produto
                $product = Capsule::table('tblhosting')->find($item->relid);

                // Calcule a diferença entre a data de pagamento e a data de vencimento original
                $daysDifference = strtotime($invoice->datepaid) - strtotime($product->nextduedate);
                $daysDifference = floor($daysDifference / (60 * 60 * 24));

                // Atualize a data de vencimento para a nova data com base na diferença
                $newDueDate = date('Y-m-d', strtotime($product->nextduedate) + $daysDifference * 86400);
                
                // Atualize a data de vencimento do produto
                Capsule::table('tblhosting')->where('id', $product->id)->update(['nextduedate' => $newDueDate]);
            }
        }
    }
});

 

Link to comment
Share on other sites

11 horas atrás, William Marques disse:

É possível mudar o vencimento de faturas atrasadas baseada no dia do pagamento, automaticamente no WHMCS?

Exemplo:

Fatura venceu dia 10/12/2023

Cliente pagou em atraso no dia 20/12/2023

A data de vencimento em vez de mudar para 10/01/2023 ela muda para 20/01/2023, é possível?

Parece que é possível, mas honestamente você vai estar jogando contra o seu negocio, imagine que o cliente pagou com 25 dias de atraso, sendo que ele continuou usando o serviço por esses 25 dias de atraso, ai ele paga e você muda o vencimento para daqui a 30 dias, mesmo que ele pague esse próximo boleto em dia, ele vai ter usado 55 dias e vai pagar por 30, se ele atrasar esse boleto, essa "bola de neve" vai só aumentar e você sempre vai ficar dando dias e dias de crédito para o cliente.

Fora que vai privilegiar um cliente que não paga seu serviço em dia.

Suporte TI & Service Provider - Visite nosso novo site

Link to comment
Share on other sites

6 minutos atrás, Fabio S Araujo disse:

Parece que é possível, mas honestamente você vai estar jogando contra o seu negocio, imagine que o cliente pagou com 25 dias de atraso, sendo que ele continuou usando o serviço por esses 25 dias de atraso, ai ele paga e você muda o vencimento para daqui a 30 dias, mesmo que ele pague esse próximo boleto em dia, ele vai ter usado 55 dias e vai pagar por 30, se ele atrasar esse boleto, essa "bola de neve" vai só aumentar e você sempre vai ficar dando dias e dias de crédito para o cliente.

Fora que vai privilegiar um cliente que não paga seu serviço em dia.

Concordo com você, mas os alguns clientes que atrasam não querem pagar pelo que o site estava suspenso, pois acham que não estavam usando o serviço, mesmo explicando que tudo estava armazenado, para não perder o cliente, acabo prorrogando a data.

Link to comment
Share on other sites

2 minutos atrás, William Marques disse:

Concordo com você, mas os alguns clientes que atrasam não querem pagar pelo que o site estava suspenso, pois acham que não estavam usando o serviço, mesmo explicando que tudo estava armazenado, para não perder o cliente, acabo prorrogando a data.

Entendi.

Suporte TI & Service Provider - Visite nosso novo site

Link to comment
Share on other sites

3 horas atrás, Fabio S Araujo disse:

Parece que é possível, mas honestamente você vai estar jogando contra o seu negocio, imagine que o cliente pagou com 25 dias de atraso, sendo que ele continuou usando o serviço por esses 25 dias de atraso, ai ele paga e você muda o vencimento para daqui a 30 dias, mesmo que ele pague esse próximo boleto em dia, ele vai ter usado 55 dias e vai pagar por 30, se ele atrasar esse boleto, essa "bola de neve" vai só aumentar e você sempre vai ficar dando dias e dias de crédito para o cliente.

Fora que vai privilegiar um cliente que não paga seu serviço em dia.

Pensei o mesmo, se o cliente não esta pagando em dias é porque não tem compromisso, então esse tipo de cliente só faz atrasar seus negócios, nesse caso eu uso aquela técnica de "demitir cliente" e no futuro bem próximo você não vai conseguir manter sua empresa desse jeito. 

Link to comment
Share on other sites

11 horas atrás, William Marques disse:

Concordo com você, mas os alguns clientes que atrasam não querem pagar pelo que o site estava suspenso, pois acham que não estavam usando o serviço, mesmo explicando que tudo estava armazenado, para não perder o cliente, acabo prorrogando a data.

pra isso existe o termo de uso

estando claro lá que o cliente vai pagar mesmo pelos dias suspenso, não tem reclamação

nunca tive cliente que reclamou disso, mesmo ficando 10/15 dias suspenso

vai pagar atrasado e no outro mês o vencimento é o mesmo

durante o periodo suspenso continuou consumindo recursos do servidor.

o atraso foi culpa do cliente e não da empresa, basta parar de deixar mole e nesses casos vale a pena 'perder' esse cliente, que na verdade você vai estar ganhando mantendo esses espertalhões longe da sua empresa. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Do you agree with our terms?