O IFTTT e serviços baseados na web semelhantes para automação e integração on-line podem ser usados para automatizar esse processo. A Plataforma IFTTT oferece uma ampla gama de serviços disponíveis com possibilidade de personalizar ações em JavaScript ( tecnicamente TypeScript ) em "Filter code", que é executado após o Trigger ("if") e antes de Action ("then"), no entanto, é necessário criar o próprio applet.
Como gatilho, escolhi o serviço do Gmail e selecione Novo e-mail na caixa de entrada em "[email protected]"
Como ação, escolhi o Gmail novamente e selecionei "Enviar um e-mail" para o e-mail da conta do Buxfer e configurei os seguintes campos:
- Assunto: {{Assunto}}
- Corpo: {{BodyPlain}}
Após adicionar a ação, foi possível escrever o código Filter, que permitia recuperar a quantidade com a descrição da mensagem de correio e formatá-la da maneira necessária (descrição, espaço, quantidade). Foi necessário remover todos os caracteres especiais porque, no email enviado, eles foram convertidos em símbolos HTML. No entanto, Buxfer analisou os e-mails recebidos como texto sem formatação e tratou ponto-e-vírgula (;) no final de qualquer caractere especial como início de uma nova transação, de acordo com " documentação ":
You can send report multiple expenses in a single message by typing each on a separate line, or separating them with a semi-colon (;)
if (Gmail.newEmailFrom.Subject === "Payment card transaction") {
var body = Gmail.newEmailFrom.BodyPlain;
var lines = body.split("\n\n");
var targetLine = lines[1];
var words = lines[1].split(" ");
var amount = words[16];
var description = targetLine.substring(
targetLine.lastIndexOf("Payment detail: ") + 16
);
description = description.replace(/[^\w\s:]/gi, ' ');
var targetBody = description + amount;
Gmail.sendAnEmail.setBody(targetBody);
} else if (Gmail.newEmailFrom.Subject === "Incoming payment to your account") {
...
} else if (Gmail.newEmailFrom.Subject === "Outgoing payment from your account") {
...
} else {
Gmail.sendAnEmail.skip()
}
Atualmente, esta solução funciona bem com transações com cartões de pagamento. O rastreamento de pagamentos recebidos exigiria o gerenciamento de várias contas. Os pagamentos de saída precisariam resolver o problema com pagamentos com cartão de contabilidade.