Reconciliação bancária de transferências: instalação e configuração
Instalação, estados acompanhados, validação automática, importação CSV, OFX e CAMT.053, verificação das propostas, lembretes, tarefa cron e resolução de problemas.
Instalação
Instale o módulo em Módulos > Gestor de módulos > Carregar um módulo enviando o ficheiro ZIP, ou copie a pasta dfbankreconcile para o diretório /modules/ da loja e clique em Instalar.
Na instalação, o módulo cria quatro tabelas (importações, transferências, atribuições a encomendas, lembretes), acrescenta o separador Reconciliação bancária no menu Encomendas e regista o hook da página da encomenda. Os dados bancários dos lembretes são preenchidos a partir do módulo nativo de pagamento por transferência, se estiver configurado.
Nada muda na loja enquanto não importar um extrato: nenhum pagamento é registado e nenhum lembrete é enviado, já que os lembretes estão desativados por defeito.
Os quatro ecrãs do módulo
- Transferências esperadas: as encomendas a aguardar transferência, com antiguidade, montante em dívida, lembretes enviados e data do próximo lembrete. No topo, quatro indicadores: montante pendente, transferências por verificar, transferências associadas e lembretes enviados em 30 dias.
- Reconciliação: as transferências importadas, filtradas por separador (Por verificar, Associada, Parcial, Ignorada, Todas), com as propostas de encomendas e as ações.
- Importar um extrato: envio do ficheiro e histórico das importações.
- Lembretes: resumo das definições, URL da tarefa cron e registo dos lembretes e cancelamentos.
Configuração
Abra a configuração com o botão Definições da barra de ferramentas do módulo ou a partir do gestor de módulos.
Associação e validação
- Estados de encomenda a aguardar transferência: as encomendas nestes estados são comparadas com as transferências importadas. Por defeito, o estado «A aguardar pagamento por transferência bancária». Mantenha Ctrl premido para selecionar vários.
- Estado após o pagamento completo: «Pagamento aceite» por defeito.
- Estado após um pagamento parcial: deixe «Manter o estado atual» ou escolha um estado próprio que tenha criado. Em todos os casos o pagamento é registado na encomenda.
- Validar automaticamente as correspondências fiáveis e Pontuação mínima para validação automática: veja a secção seguinte.
- Tolerância no montante: diferença aceite para considerar um montante exato, 0,01 por defeito.
- Diferença aceite para comissões bancárias: uma transferência inferior ao montante em dívida no máximo por este valor liquida a encomenda. Útil para transferências internacionais em que o banco do cliente retém comissões. 0 por defeito, o que desativa a regra.
- Procurar encomendas feitas nos últimos: 120 dias por defeito. As encomendas mais antigas não são propostas.
- Enviar o e-mail de estado ao cliente: envia o e-mail associado ao estado «Pagamento aceite» quando a encomenda passa a paga.
Importação CSV
Os ficheiros OFX e CAMT.053 não precisam de configuração. No CSV, deixe vazios os campos das colunas: o módulo encontra a linha de cabeçalho nas primeiras 40 linhas e reconhece os nomes de coluna habituais em 8 idiomas, entre eles Data movimento, Data lançamento, Descritivo, Descrição, Montante, Crédito e Débito. Se a sua exportação não for reconhecida, indique o Separador de colunas, o Formato da data e os números das colunas, a começar em 1:
- Coluna da data.
- Coluna do montante para um montante com sinal, ou Coluna de crédito e Coluna de débito se o banco as separar.
- Colunas do descritivo: uma ou várias colunas separadas por vírgulas, por exemplo
3,4. São unidas para formar o texto analisado.
A pontuação e a validação automática
Cada transferência é comparada com as encomendas a aguardar pagamento feitas até à data da transferência. Os pontos somam-se:
- Referência da encomenda encontrada no descritivo: 60 pontos. A pesquisa ignora espaços e pontuação, pelo que uma referência cortada em duas pelo banco é encontrada na mesma.
- Número de encomenda encontrado após Encomenda, Order, CMD, CDE, Commande, Bestellung, Pedido, Ordine ou Zamówienie: 45 pontos.
- Montante exato: 35 pontos. Montante menos comissões bancárias, dentro da tolerância definida: 30 pontos.
- Nome do cliente encontrado (apelido, empresa ou nome da morada de faturação, pelo menos 4 caracteres): 15 pontos.
- Única encomenda com este montante, sem referência nem número: 10 pontos.
- Várias encomendas numa transferência: quando o descritivo indica várias referências cuja soma corresponde ao montante, é acrescentada uma proposta agrupada com 95 pontos.
Exemplos: referência e montante exato dão 95. Número de encomenda, montante exato e nome dão 95. Montante exato e nome sem referência dão 50, ou 60 se for a única encomenda com esse montante.
Uma transferência é validada automaticamente durante a importação se a validação automática estiver ativa, se a melhor proposta liquidar a encomenda, se a sua pontuação atingir o limiar (90 por defeito) e se ultrapassar a segunda em pelo menos 15 pontos. As outras transferências com uma proposta de pelo menos 40 pontos passam a Proposta, as restantes a Sem correspondência.
Duas encomendas com o mesmo montante, sem referência no descritivo, nunca são validadas automaticamente: as suas pontuações são iguais.
Importar um extrato
- Descarregue o extrato da sua conta no banco online, em CSV, OFX, QFX ou CAMT.053 XML.
- Abra o ecrã Importar um extrato, escolha o ficheiro (máximo 20 MB) e clique em Importar e associar.
- A mensagem de resultado indica o número de transferências recebidas lidas, as linhas já importadas, as encomendas marcadas como pagas automaticamente e as transferências por verificar. Em seguida, abre-se o ecrã Reconciliação.
Só os créditos são mantidos. Cada linha é identificada pela data, montante e descritivo: uma linha já importada conta como duplicado e é ignorada. Pode, por isso, importar todas as semanas o extrato do mês em curso sem criar duplicados. Nos ficheiros CAMT.053, um lote de várias transferências é dividido em transferências individuais com o nome de cada ordenante.
Verificar as propostas
O separador Por verificar lista as transferências pendentes ordenadas por pontuação. Para cada transferência, a coluna Encomendas mostra até 5 propostas com a referência, o número da encomenda com ligação, o cliente e a empresa, o montante em dívida, a diferença se existir, a pontuação e os motivos. Uma etiqueta Pagamento parcial ou Pagamento em excesso assinala um montante diferente do devido.
- Validar: regista o pagamento na encomenda proposta. É pedida confirmação se o montante diferir do devido.
- Validação em lote: selecione transferências, ou Selecionar todas as propostas, e clique em Validar a primeira proposta das transferências selecionadas.
- Atribuir: escreva uma referência ou um número de encomenda, ou vários separados por um espaço ou uma vírgula para uma transferência agrupada.
- Ignorar: para uma transferência que não diz respeito a uma encomenda, por exemplo um reembolso de um fornecedor. Continua visível no separador Ignorada e pode ser restaurada, o que volta a associá-la.
O botão Associar novamente recalcula as propostas de todas as transferências pendentes, por exemplo após novas encomendas. A pesquisa filtra as transferências por descritivo, ordenante, referência da encomenda ou montante exato, por exemplo 1.234,56.
O que é registado no PrestaShop
A validação acrescenta um pagamento nativo à encomenda, visível no separador Pagamentos, na fatura e nas exportações contabilísticas. O meio de pagamento é o da encomenda, o ID de transação é a referência bancária do extrato (FITID em OFX, referência do banco em CAMT) ou, na sua falta, DFBR- seguido do número da transferência, e a data é a da operação. Se já existir uma fatura, o pagamento fica-lhe associado.
Se o montante liquidar a encomenda, tolerâncias incluídas, esta passa para o estado após o pagamento completo. A mudança de estado reutiliza o pagamento registado e não cria um segundo. Caso contrário, o pagamento é parcial: a encomenda passa para o estado após um pagamento parcial, se definido, o saldo em dívida fica visível e uma transferência posterior completará o pagamento.
As encomendas divididas entre várias transportadoras partilham uma referência. O módulo trata-as como uma só encomenda: o montante em dívida é a soma das encomendas, o pagamento é registado na primeira, como faz o PrestaShop, e todas mudam de estado.
Bloco na página da encomenda
A página de detalhe de uma encomenda a aguardar pagamento, ou que recebeu uma transferência, mostra um bloco Transferência bancária: montante ainda em dívida, transferências recebidas com data, montante e descritivo, lembretes enviados e um botão Enviar um lembrete de pagamento.
Lembretes de transferências não recebidas
Definições
- Enviar lembretes de pagamento: desativado por defeito.
- Prazos dos lembretes (dias após a encomenda): até 5 prazos separados por vírgulas,
3,7,14por defeito. O último envia o e-mail de último lembrete. Dois lembretes para a mesma encomenda ficam separados por pelo menos 2 dias. - Não lembrar encomendas com mais de: 30 dias por defeito, para não escrever a clientes de encomendas antigas no dia da ativação.
- Enviar uma cópia dos lembretes para: endereço em cópia oculta, opcional.
- Dados bancários apresentados nos lembretes: titular da conta, IBAN, BIC e morada do banco.
- Cancelar encomendas não pagas após: 0 por defeito, o que desativa o cancelamento. Uma encomenda paga parcialmente nunca é cancelada. O cancelamento repõe o stock dos produtos.
Não é enviado nenhum lembrete para uma encomenda que uma transferência a aguardar verificação propõe com pelo menos 40 pontos: o dinheiro provavelmente chegou. O resultado da tarefa indica quantas encomendas foram ignoradas por este motivo.
Tarefa cron
O ecrã Lembretes e a configuração mostram o URL da tarefa, protegido por um token. Agende uma chamada diária no seu alojamento:
0 9 * * * curl -s "https://www.a-sua-loja.pt/module/dfbankreconcile/cron?token=O_SEU_TOKEN" > /dev/null
A resposta é um JSON com o número de lembretes enviados, encomendas canceladas, encomendas ignoradas e erros. O botão Executar agora corre a mesma tarefa a partir do back-office. O botão Gerar um novo token da configuração invalida o URL anterior.
Os e-mails
O módulo inclui dois modelos, bankwire_reminder e bankwire_reminder_final, em HTML e texto, em 8 idiomas. O e-mail é enviado no idioma da encomenda, ou em inglês se esse idioma não estiver incluído. Contém o montante em dívida, o total da encomenda, os seus dados bancários e o pedido de indicar a referência no descritivo. O último lembrete avisa que a encomenda poderá ser cancelada. Variáveis disponíveis para personalizar os modelos em mails/: {firstname}, {lastname}, {order_name}, {order_date}, {amount_due}, {total_paid}, {bank_details}, {bank_details_html}.
Também pode lembrar um cliente a qualquer momento com o botão Lembrar do ecrã Transferências esperadas ou a partir da página da encomenda. Cada envio fica no registo de lembretes.
Resolução de problemas
«Não foi possível ler o ficheiro»
A linha de cabeçalho do CSV não foi reconhecida. Abra o ficheiro numa folha de cálculo, anote os números das colunas de data, montante (ou crédito e débito) e descritivo, e indique-os na secção Importação CSV da configuração.
«Não foi encontrado nenhum movimento neste ficheiro»
O ficheiro foi lido mas não contém nenhuma linha com data e montante utilizáveis. Verifique o formato da data (dia/mês/ano ou mês/dia/ano) e se o extrato não está vazio.
Uma transferência evidente não tem proposta
Verifique se a encomenda está num dos estados acompanhados, se foi feita antes da data da transferência e dentro do período de pesquisa, e se usa a mesma moeda que o extrato. Depois de corrigir um estado, clique em Associar novamente.
«A encomenda já não aguarda pagamento»
A encomenda mudou de estado ou foi paga desde a importação, por exemplo por outra transferência. Associe novamente para atualizar as propostas.
Os lembretes não são enviados
Verifique se os lembretes estão ativados, se o URL cron é chamado (o botão Executar agora permite testar), se as encomendas são mais recentes do que a antiguidade máxima definida e se a loja envia e-mails, em Parâmetros Avançados > E-mail.
Compatibilidade
- PrestaShop 8.0 a 9.x, o mesmo ZIP cobre as duas versões.
- Multiloja: as importações e transferências pertencem à loja ativa.
- Formatos: CSV, TXT, OFX e QFX 1.x e 2.x, CAMT.053. O formato MT940 não é suportado.
- Arquitetura ModuleAdminController, sem dependência Composer.
- Interface e e-mails em português, inglês, francês, espanhol, alemão, italiano, neerlandês e polaco.