Kpakfar/declaração-de-imposto-alemã

Um modelo de habilidade para preparar sua própria declaração de imposto de renda alemão (Einkommensteuererklärung, a partir do ano fiscal de 2024). Começa com uma entrevista de 12 perguntas que identifica quais áreas se aplicam e o que reunir, em seguida executa um fluxo de trabalho controlado onde scripts, não o modelo, conferem os valores declarados com suas notas fiscais e aplicam os limites legais comuns.

O que é declaração-de-imposto-alemã?

Esta habilidade é um modelo para preparar a declaração de imposto de renda alemã (Einkommensteuererklärung) a partir do ano fiscal de 2024. Ela ajuda o usuário a organizar e verificar suas deduções por meio de um processo estruturado: uma entrevista inicial de 12 perguntas mapeia as áreas relevantes, seguida pela coleta de documentos, construção de um razão contábil e verificação automatizada com scripts Python. Os scripts `check_receipts.py` e `limits.py` garantem que cada valor declarado esteja respaldado por uma fonte documental (como notas fiscais) e que os limites legais (cotas, tetos, valor de ativos de baixo valor) sejam aplicados corretamente. A habilidade não toma decisões por conta própria – questões subjetivas são sempre apresentadas ao usuário. Ela é projetada para ser usada localmente, sem compartilhar dados sensíveis, e não substitui o aconselhamento de um profissional (Steuerberater). O envio da declaração é sempre de responsabilidade do usuário. Suporta três modos: declaração anual, verificação mensal e comparação com a notificação de lançamento (Steuerbescheid).

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Kpakfar/german-tax-skill/tree/HEAD/skills/german-tax-return

Installed? Explore more Produtividade e Colaboração skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Declaração de imposto de renda alemã

Aviso: este é um modelo, não é aconselhamento fiscal. É uma estrutura inicial para sua própria declaração, construída a partir da experiência de um domicílio e verificada em relação aos textos legais mencionados em references/thresholds.json na data indicada. A legislação tributária muda todos os anos e cada caso é diferente. A habilidade pode estar incorreta, incompleta ou desatualizada. Você é responsável pelo que declara. Verifique cada valor pessoalmente e consulte um Steuerberater (consultor fiscal) ou um Lohnsteuerhilfeverein (associação de ajuda no imposto sobre salários) para casos complexos. Sem garantia (consulte LICENSE). Adapte as regras, perguntas e limites à sua própria situação antes de confiar neles.

O modelo propõe e explica. Scripts verificam o que podem verificar. Um humano assina e envia.

Nenhum valor entra na declaração porque o modelo acredita nele. Ele entra quando scripts/check_receipts.py o encontra em seu documento de origem e scripts/limits.py aplicou os limites que cobre. Os scripts cobrem um conjunto de regras comuns, não toda a lei tributária; qualquer coisa fora deles é uma pergunta para o usuário. Decisões de julgamento (este serviço de assinatura é profissional?) são registradas como uma pergunta para o humano, nunca decididas silenciosamente.

Escopo e limites (leia primeiro)

  • Para a declaração do próprio usuário, ou uma declaração conjunta com seu cônjuge. Ajudar terceiros com seus impostos como negócio é reservado a profissionais licenciados na Alemanha (§§ 2, 5 StBerG; § 6 lista as exceções restritas, como ajuda não remunerada para parentes). Não ofereça isso.
  • Este é um modelo, não aconselhamento fiscal. Diga isso uma vez, claramente, quando o usuário começar, antes da entrevista.
  • Os números específicos do ano vêm de references/thresholds.json, cada um com uma fonte oficial. Se o ano estiver faltando lá, pare e verifique-o de uma fonte oficial (consulte references/official-sources.md) antes de adicioná-lo.
  • Nunca envie. O agente pode preencher formulários no ELSTER ou software fiscal se o usuário pedir, mas o envio é sempre o clique do usuário.

Modos

  1. Declaração anual: o fluxo de trabalho completo abaixo.
  2. Verificação mensal: consulte references/monthly.md. Execute nos primeiros dias de cada mês sobre os pagamentos, notas fiscais e e-mails do mês anterior.
  3. Verificação da notificação de lançamento: compare o Steuerbescheid com o que foi declarado, liste cada diferença e o prazo para objeção (Einspruch: um mês após a notificação ser considerada entregue, § 355 AO). Consulte references/workflow.md, etapa 6.

Fluxo de trabalho anual (portões, em ordem)

Cada etapa tem um portão. Não passe por um portão apenas com base no julgamento do modelo.

  1. Entrevista. Faça as 12 perguntas de triagem em references/interview.json, uma ou duas de cada vez, em palavras simples. As respostas são sim, não ou não tenho certeza (não tenho certeza conta como sim). Em seguida, execute python3 scripts/interview.py --answers answers.json (ou --ask em um terminal). A saída lista, por área aberta, as perguntas de acompanhamento, os documentos a reunir, as categorias do razão para seus custos e os formulários prováveis. Não pule uma área porque o usuário não a mencionou. Portão: todas as 12 respondidas.
  2. Reunir. Pergunte primeiro o ano fiscal. Reúna a declaração e notificação do ano anterior, todos os certificados, notas fiscais, extratos bancários e cartas do escritório de impostos em uma pasta local. Use references/intake-checklist.md. Portão: cada seção da lista de verificação tem uma resposta explícita (valor, sim/não, nenhum).
  3. Proteger. Trabalhe na pasta local do usuário. Nunca peça ou armazene senhas; o usuário faz login. Mantenha IDs fiscais, IBANs e nomes fora de qualquer arquivo que seja sincronizado ou compartilhado. Portão: o usuário confirmou onde os dados estão e quem pode vê-los.
  4. Tarefa de teste (contratar o agente). Antes do novo ano, leia a notificação do ano anterior e descubra o que foi perdido ou cortado. Relate com a página e linha. Portão: o usuário verifica a descoberta em relação ao papel.
  5. Construir o razão. Uma linha por custo declarado em ledger-YYYY.csv (colunas em scripts/limits.py --help). Ordene as linhas com references/deduction-guide.md. Itens de uso misto recebem um work_share e um motivo por escrito.
  6. Verificar (scripts, não opinião).
    • python3 scripts/check_receipts.py ledger-YYYY.csv --root FOLDER Cada valor deve ser encontrado em seu documento. Digitalizações são lidas com OCR quando o tesseract está instalado. Uma linha que falha é corrigida ou marcada como um valor derivado com seu cálculo escrito ao lado.
    • python3 scripts/limits.py ledger-YYYY.csv --year YYYY Aplica cotas, tetos, o montante fixo, o limite de ativos de baixo valor e a regra do ano de pagamento. Linhas sinalizadas vão para o usuário como perguntas.
    • Apartamento alugado: python3 scripts/afa.py split|eligible|schedule ... Portão: ambos os scripts saem com código 0 (em limits.py apenas linhas com status approved passam), ou cada sinalização restante tem uma resposta por escrito.
  7. Preencher, revisar, enviar. Mapeie os totais verificados para os formulários (references/output-template.md). O usuário revisa cada campo e envia. Após a notificação de lançamento chegar, execute a verificação da notificação.

Regras de saída

  • Lidere com o resultado: restituição ou valor devido, e o que ainda o bloqueia.
  • Mostre a saída do script, não uma paráfrase dela.
  • Marque cada estimativa como estimativa.
  • Para termos alemães, forneça o inglês entre parênteses na primeira vez.

Arquivos

  • scripts/interview.py + references/interview.json: 12 perguntas de triagem -> lista de coleta
  • scripts/check_receipts.py: o valor deve aparecer em seu documento de origem
  • scripts/limits.py: limites legais por ano, por pessoa
  • scripts/afa.py: cota do edifício, elegibilidade de depreciação de 5 %, plano de depreciação
  • scripts/monthly_scan.py: CSV bancário + notas fiscais + .eml -> relatório mensal
  • references/thresholds.json: valores do ano com fontes oficiais
  • references/deduction-guide.md: o que conta e como decidir
  • references/workflow.md: os portões em detalhe, a verificação da notificação de lançamento
  • references/monthly.md: a rotina mensal e como agendá-la
  • references/intake-checklist.md, references/output-template.md
  • references/official-sources.md
  • examples/: razão e recibos inventados para experimentar ambas as verificações em um minuto
  • tests/: python3 -m unittest discover -s tests

Habilidades Relacionadas