Projetos

Comissionamento

Cálculo de comissão para vários canais de venda que remuneram de formas incompatíveis entre si: varejo físico, e-commerce, atacado, pessoa jurídica e operação em outro país.

É cálculo com consequência dos dois lados. Errar para menos e o vendedor reclama com razão; errar para mais e a empresa paga o que não devia. E precisa ser auditável: alguém vai perguntar, meses depois, por que aquele valor deu aquilo.

O que eu construí

O extrator que alimenta a apuração, o ponto único por onde a venda faturada entra nos sistemas de comissão. A consolidação que junta o resultado dos canais numa visão para o financeiro. O tratamento de evento posterior: devolução e cancelamento que retroagem sobre comissão já fechada. E a trilha de apuração, que guarda de onde veio cada valor.

O que a trilha e o extrator resolvem

A contestação tem resposta. Com a trilha, “por que minha comissão deu isso” deixa de ser uma investigação e vira uma consulta. Num cálculo que envolve equipe, meta e devolução, essa é a diferença entre confiança e desgaste todo mês.

Uma porta de entrada em vez de várias. Com o extrator único, a venda faturada chega igual para todos os canais, e divergência sobre o que foi faturado deixa de ser discussão sem árbitro.

O desenho que eu herdei, e o que eu faria diferente

Não fui eu que desenhei essa arquitetura, e eu discordo dela.

Cada canal virou um sistema separado, com a regra dentro do código. Uma regra de comissão nova tende a virar um sistema novo. Eu teria feito um serviço de cálculo com motor de regras configurável, onde abrir um canal é cadastrar uma regra e não abrir um repositório, porque o que varia entre os canais é fórmula e parâmetro, não a natureza do problema.

O custo do desenho atual aparece todo dia: corrigir um comportamento compartilhado exige aplicar em vários lugares, com risco permanente de esquecer um; e não existe um lugar que responda “qual é a regra de comissão”, porque a resposta é sempre “de qual canal?”.

Vale dizer o que ele tem de bom, porque ignorar seria desonesto: código independente sobreviveu bem à rotatividade. Cada pessoa que chegou mexeu no canal de que precisava sem entender os outros. A conclusão que eu tiro não é que separar estava certo, é que motor de regras exige dono, e sem dono o desenho separado é o mal menor.

Por que isso está no portfólio

Porque boa parte do trabalho sênior é operar dentro de decisões que você não tomou e não faria. Apontar onde o desenho custa caro, sem transformar em reclamação e sem reescrever o que está funcionando, é a competência que se aplica aqui.

Pablo Mickael Quevedo Senior Software Engineer · Novo Hamburgo, RS