WordPress e WooCommerce

como faturar inscrições em cursos LMS do WooCommerce automaticamente

por que a inscrição e o faturamento no LMS ficam fora de sincronia após a finalização da compra

As equipes que vendem cursos online por meio de WooCommerce mais LearnDash, Tutor LMS ou LifterLMS geralmente dividem o atendimento em três mesas. Checkout captura o pagamento. Alguém nas operações abre o pedido, copia o e-mail do comprador na lista do LMS e atribui o produto do curso que mapeia para um SKU pago. Separadamente, o setor financeiro redigita o mesmo comprador em Fakturownia, wFirma, Comarch Optima ou outra pilha de faturamento porque o recibo da loja não é uma fatura fiscal em seu país. Essa dupla entrada ocorre quando as vagas são concedidas sem documento ou os documentos são emitidos para o ID de IVA errado enquanto o aluno aguarda pelo acesso. O modo de falha não é raro. Pacotes de SKUs que desbloqueiam dois cursos, licenças corporativas compradas por um gerente de compras para cinco funcionários e pedidos de renovação de produtos de assinatura quebram suposições ingênuas de que “uma linha de pedido equivale a uma inscrição”. Reembolsos e reembolsos parciais pioram a situação: o LMS ainda apresenta acesso ativo enquanto a contabilidade já emitiu nota corretiva, ou acontece o contrário e o aluno perde o acesso antes que as finanças fechem a nota de crédito. O suporte então passa a tarde reconciliando três sistemas que nunca compartilharam um ID de correlação. As planilhas manuais ocultam o atraso até a data de início do coorte. Se cinquenta inscrições chegarem em uma promoção de segunda-feira de manhã, as operações não conseguirão acompanhar os pedidos pagos, então os alunos enviam um e-mail "Eu paguei, onde está meu curso" enquanto o financeiro ainda está enviando faturas em lote na sexta-feira. O risco comercial consiste em estornos e disputas semelhantes a estornos, quando o comprador pode provar o pagamento, mas não consegue provar que o acesso foi concedido dentro de um prazo razoável. A automação se justifica quando o volume de inscrições excede regularmente o que uma pessoa consegue compensar no mesmo dia sem erros e quando a numeração das faturas deve permanecer contínua para a repartição de finanças. Os criadores de cursos também tropeçam quando um curso gratuito que atrai leads fica ao lado de grupos pagos no mesmo LMS. A equipe acidentalmente reutiliza o gancho do produto pago para o SKU gratuito, que fatura documentos absurdos de valor zero ou inscreve alunos pagos na sequência de gotejamento errada. Outra lacuna frequente são os grupos liderados por instrutores com data de início fixa: os alunos podem pagar com semanas de antecedência, portanto o acesso deve ser agendado em vez de aberto imediatamente, enquanto o departamento financeiro ainda precisa da fatura na data do pagamento. Essa divisão entre a data fiscal e a data de acesso deve ser codificada explicitamente ou o suporte inventará exceções únicas a cada lançamento. A localização é importante para o IVA. Um comprador polaco com um NIP válido espera uma fatura fiscal emitida para a administração fiscal, enquanto uma empresa registada na UE com registo de IVA pode necessitar de anotações de autoliquidação. Se a automação sempre emite um documento estilo recibo de varejo, o financeiro refaz o trabalho manualmente e perde a confiança na fila. Capture a classe de imposto e o tipo de comprador na finalização da compra, transmita-os inalterados e recuse-se a inventar regras do país dentro do plug-in LMS.

quando um pedido WooCommerce pago deve criar uma fatura de inscrição LMS

Acione o fluxo de trabalho quando um pedido WooCommerce atinge um status pago que sua loja trata como final para produtos digitais: normalmente em processamento ou concluído, dependendo se você mantém os pedidos virtuais em processamento até que os ganchos de atendimento terminem. Fique atento também aos pagamentos de renovação de assinatura se o curso for vendido como um produto WooCommerce Subscriptions e às mudanças manuais de status de administrador de em espera para processamento após a compensação de uma transferência bancária. Não registre ou fature pagamentos pendentes ou com falha. Para campos de checkout B2B, aguarde até que a validação do ID do IVA seja bem-sucedida ou seja explicitamente dispensada por uma função da equipe; caso contrário, você faturará um nome de empresa de espaço reservado que o departamento financeiro deverá anular posteriormente. Inclua capturas parciais de gateways de pagamento somente quando a configuração da sua loja tratar o pedido como pago para entrega digital. Ignore notas de pedido e alternâncias de permissão de download do cliente como gatilhos; esses são muito barulhentos. Se você usa uma plataforma de aprendizagem fora do WordPress que ainda cobra por meio do WooCommerce, trate a API de inscrição externa como a etapa do LMS, mas mantenha a mesma porta de status pago.

como matricular o aluno e emitir a nota fiscal em uma só automação

  1. Mapeie cada linha de pedido pago para um curso LMS ou ID de grupo usando uma tabela de SKU mantida, incluindo pacotes principais que se expandem em vários IDs de curso e quantidades de vagas para produtos corporativos.
  2. Crie ou atualize o usuário estudante no WordPress, anexe a inscrição ou associação ao grupo e armazene o ID do pedido WooCommerce mais o ID do item de linha na meta de inscrição do LMS para que os reembolsos possam reverter o mesmo assento.
  3. Crie a carga útil da fatura a partir de campos de faturamento, ID de IVA e classe de imposto; envie-o para Fakturownia, wFirma, Optima ou sua API de contabilidade; escreva o número da fatura remota e o URL do PDF de volta na meta do pedido.
  4. Envie ao aluno uma única mensagem que inclua o link de login do curso e o anexo da fatura ou download seguro, usando o mesmo ID de correlação no LMS e nos registros contábeis.
  5. Em webhooks de reembolso ou cancelamento de assinatura, revogue ou agende o encerramento da inscrição de acordo com a política, solicite uma fatura corretiva ou nota de crédito e notifique o departamento financeiro se a API de documento remoto rejeitar a correção.
  6. Coloque na fila uma reconciliação noturna que lista os pedidos digitais pagos sem uma meta-chave de inscrição ou um número de fatura para que as operações possam eliminar exceções antes do próximo e-mail de coorte.
  7. Quando o acesso precisar aguardar uma data de início do coorte, escreva um trabalho agendado do Action Scheduler que conceda a licença do LMS no carimbo de data/hora de início enquanto ainda emite a fatura no pagamento.

Sistemas

  • WooCommerce
  • LearnDash / Tutor LMS
  • Fakturownia / wFirma
  • Comarch Optima

Ferramentas

  • Action Scheduler
  • WooCommerce webhooks
  • n8n
  • REST APIs

fluxo de dados do pagamento WooCommerce para a licença LMS e documento contábil

WooCommerce continua sendo a fonte comercial da verdade para o estado de pagamento. Um webhook ou trabalho do Action Scheduler publica o ID do pedido em n8n ou em um ouvinte PHP personalizado. O ouvinte carrega itens de linha, resolve mapeamentos de SKU para curso a partir de uma tabela de opções ou planilha do Google espelhada em wp_options e chama a API de inscrição LMS ou funções de junção de grupo LearnDash dentro do WordPress quando possível para que as verificações de capacidade permaneçam locais. A criação de faturas geralmente deixa WordPress: REST para Fakturownia ou wFirma para empresários individuais poloneses e pequenas empresas, ou uma exportação na fila para Comarch Optima/enova quando a equipe de contabilidade recusa SaaS de fatura na nuvem. Prefira n8n quando os sistemas financeiros mudam frequentemente; prefira o Action Scheduler mais um pequeno plugin quando você precisar manter segredos e inscrições dentro do tempo de execução do WP. Cada salto grava o mesmo order_id e um fulfilment_id gerado nos logs para que o suporte possa pesquisar uma chave no LMS, na loja e na contabilidade. Persista uma máquina de estado de atendimento no pedido: pago_recebido, inscrito, faturado, notificado, reconciliado_ok. Exponha esses estados a uma tabela de lista de administração simples para que as operações não precisem de acesso n8n. Quando o Optima está envolvido, muitas equipes escrevem uma tabela intermediária que o integrador do Optima pesquisa; não bloqueie o e-mail do aluno na janela do lote do Optima. Em vez disso, marque faturad_pending_erp e deixe o financiamento completar a numeração, ao mesmo tempo em que mostra ao aluno uma confirmação comercial. Dados pessoais seguem o contrato de subcontratação exigido pela CNPD. A contabilidade pode viver no ERP ou no Moloni/InvoiceXpress em vez de um SaaS genérico.

o que fazer quando a inscrição for bem-sucedida, mas a API da fatura falhar

Caso a chamada de inscrição no LMS falhe após o pagamento, não emita ainda a fatura; tente novamente com espera e, em seguida, abra um alerta do Slack ou por e-mail com o link do pedido e deixe o pedido com um status personalizado de "erro de atendimento" para que os painéis estilo armazém também possam ver falhas digitais. Se a inscrição for bem-sucedida e a API da fatura retornar 4xx devido a um ID de IVA incorreto, mantenha a vaga, sinalize o pedido meta fatura_error e encaminhe para as finanças sem bloquear o aluno. Se a API da fatura for bem-sucedida, mas a busca do PDF falhar, armazene o ID remoto e tente novamente o download do PDF separadamente. Elimine qualquer trabalho anterior ao seu SLA e nunca se inscreva automaticamente em um segundo webhook de pagamento para o mesmo order_id sem uma chave de idempotência. Webhooks duplicados do gateway são normais. Bloqueie todos os efeitos colaterais em um registro de idempotência digitado por order_id mais o nome da habilidade (inscrição vs fatura). Se um aluno já tiver acesso vitalício ao curso de uma compra anterior, pule a nova inscrição, mas ainda assim fature o novo pedido comercial se for um SKU pago separado, como um complemento de coaching. Documente essa ramificação para que o suporte não trate a inscrição ignorada como um bug.

quando o faturamento manual do LMS ainda é mais barato que a automação

Pule esta construção quando você vender menos de vinte vagas em cursos por mês, emitir faturas manualmente em menos de dez minutos cada e nunca realizar lançamentos de coorte que aumentem o volume. Evite também quando cada venda for um contrato corporativo personalizado já faturado no Optima antes que a licença do LMS seja concedida por um gerente de conta. A automação que combate um processo de cobrança negociado por humanos cria documentos duplicados e equipes financeiras irritadas. Os departamentos de aprendizagem corporativa que faturam por meio de acordos-quadro anuais no enova e usam apenas o WooCommerce como uma frente de catálogo não devem forçar faturas de loja por assento através deste fluxo. Use uma transferência para financiar em vez de documentos de varejo falsos.

KPIs para automação de faturamento de inscrição LMS

  • Minutos médios desde o pedido pago até a inscrição no LMS meta escrita
  • Parcela de pedidos digitais pagos com ID de inscrição e número de fatura em 24 horas
  • Contagem de pedidos com erro de processamento com idade superior ao seu SLA de suporte
  • Reembolsos onde o acesso permaneceu ativo mais de uma hora após a nota de crédito

Calculadora de ROI da automação

Indique execuções por mês, minutos por execução e o custo horário carregado. O resultado é uma simulação, não um orçamento do nosso trabalho.

Horas = execuções × minutos / 60 × recuperação %. Valor do tempo = horas × taxa × realização %. Erros evitados = execuções × erro % × custo do erro × realização %. Líquido = soma − manutenção. Retorno = implementação / líquido, só quando líquido > 0.

Horas recuperadas / mês: -

Horas recuperadas / ano: -

Valor do tempo / mês: -

Custo de erros evitado / mês: -

Líquido / mês: -

Retorno (meses): -

Resultado no primeiro ano: -

A fatura ou a inscrição no LMS devem acontecer primeiro?#
Inscreva-se primeiro quando o produto é um curso puramente digital e os estornos são mais raros do que estudantes irritados esperando pelo acesso. Faturar primeiro quando a regulamentação ou política interna proibir a concessão de um serviço pago sem documento numerado. A maioria das lojas inscreve-se primeiro, fatura depois e mantém uma fila de exceções financeiras para falhas no IVA.
Como os pacotes e licenças corporativas são mapeados para faturas?#
Faturar o SKU comercial que o cliente comprou, e não cada curso secundário como um documento separado, a menos que o setor financeiro exija uma linha por curso para reconhecimento de receita. A meta de inscrição ainda deve expandir os filhos para que cada ID de curso seja concedido. As licenças corporativas precisam de um campo de quantidade no grupo de inscrição, e não de cinco pedidos duplicados.
E quanto às ordens de transferência bancária que permanecem em espera?#
Não se inscreva em espera. Acione somente quando a equipe ou uma regra de correspondência automatizada move o pedido para processamento ou é concluído após a transferência ser vista. A inscrição prematura em transferências bancárias não pagas é uma fuga comum de receitas do LMS.
A mesma automação pode lidar com cursos gratuitos e pagos?#
Use tipos de produtos separados ou um sinalizador no_invoice em SKUs gratuitos. Os cursos gratuitos devem ser inscritos sem chamar a API de contabilidade. Misturá-los em um gancho de produto é como aparecem as faturas de valor zero e os portões pagos acidentalmente.

Precisa de FAQ adaptado ao setor e mercado? Criamos uma versão alinhada com os seus objetivos de negócio.

Fale connosco

Casos relacionados