Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Registrar Uma Despesa

ASecurity

Registro uma única despesa a partir de um recibo encaminhado (imagem, PDF, ou e-mail) e produzo uma despesa categorizada mais um lançamento contábil balanceado. Extraio o fornecedor, a data, o valor e os itens de linha por leitura multimodal, escolho um código de conta contra o seu plano de contas travado (tudo abaixo de 0.90 de confiança vai para Suspenso com o recibo anexado), e elaboro o lançamento de partida dobrada com o lado do crédito definido conforme a forma de pagamento (cartão corp...

113 stars
0 votes
0 copies
0 views
Added 9/19/2026
databasesgogit

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add gethouston/houston --skill registrar-uma-despesa --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Registrar Uma Despesa?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Registrar Uma Despesa
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gethouston-registrar-uma-despesa/badge)](https://www.skillsdirectory.com/skills/gethouston-registrar-uma-despesa)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: registrar-uma-despesa
title: "Registrar uma despesa"
description: "Registro uma única despesa a partir de um recibo encaminhado (imagem, PDF, ou e-mail) e produzo uma despesa categorizada mais um lançamento contábil balanceado. Extraio o fornecedor, a data, o valor e os itens de linha por leitura multimodal, escolho um código de conta contra o seu plano de contas travado (tudo abaixo de 0.90 de confiança vai para Suspenso com o recibo anexado), e elaboro o lançamento de partida dobrada com o lado do crédito definido conforme a forma de pagamento (cartão corporativo, empréstimo do fundador, dinheiro, ou ACH). O submodo `mode=batch` agrupa N recibos em um único lançamento contábil resumo que credita Empréstimo do Fundador a Pagar ou Reembolsos a Provisionar. Somente rascunho, eu nunca lanço nada."
version: 1
category: Contabilidade
featured: no
image: ledger
integrations: [gmail, outlook, quickbooks, xero]
x_houston:
  created_by: houston
  skill_schema: 1
---


# Registrar uma Despesa

Um recibo entra, uma despesa categorizada e um lançamento contábil balanceado saem. Para reembolsos de fundador, pagamentos a fornecedores do próprio bolso, ou qualquer despesa que não apareceu no feed de banco ou cartão. Todo recibo produz um lançamento contábil balanceado com o código de conta validado contra o seu plano de contas, ou vai para Suspenso com a imagem anexada.

Somente rascunhos: o lançamento contábil é gravado com `status: "draft"`. Eu nunca lanço automaticamente no QuickBooks ou Xero.

## Quando usar

- O usuário encaminha um único recibo (imagem, PDF, e-mail) ou diz "lance este recibo" / "categorize este reembolso".
- Despesa ausente do feed de banco / cartão (reembolsada em cartão pessoal, paga via ACH de outra entidade, em dinheiro).
- `mode=batch`, "processe estes 20 recibos do Q1" / "lance o lote de reembolso do fundador", produz um único lançamento contábil resumo creditando Empréstimo do Fundador a Pagar (ou Reembolsos a Provisionar se do mesmo período).

## Conexões que preciso

Executo trabalho externo pelo Composio. Antes desta habilidade rodar, verifico se as categorias abaixo estão conectadas. Se faltar, eu nomeio a categoria, peço para você conectar na aba Integrações, e paro.

- **Gmail ou Outlook** (caixa de entrada), opcional, permite puxar um recibo encaminhado e seus anexos diretamente do seu e-mail. Se não conectado, você pode enviar o arquivo no chat ou na pasta de entrada de recibos.
- **QuickBooks Online ou Xero** (contabilidade), opcional, usado apenas se você quiser que eu consulte o histórico do fornecedor. O lançamento contábil em si fica como rascunho no disco, eu nunca lanço.

Esta habilidade nunca bloqueia por falta de conexão. Você sempre pode enviar o recibo como arquivo.

## Informações que preciso

Eu leio o seu contexto contábil primeiro. Para todo campo obrigatório que estiver faltando, faço UMA pergunta em linguagem simples (melhor modalidade: aplicativo conectado > envio de arquivo > URL > colar) e espero.

- **Um plano de contas**, obrigatório. Motivo: toda categoria que eu atribuir precisa vir do seu plano de contas. Se faltar, pergunto: "Já temos um plano de contas? Se não, vamos elaborar um primeiro."
- **Um contexto contábil finalizado**, obrigatório. Motivo: preciso do seu método contábil e contas registradas para lançar o lado do crédito corretamente. Se faltar, pergunto: "Já configuramos os livros? Se não, vamos rodar a configuração primeiro."
- **O recibo em si**, obrigatório. Motivo: fornecedor, data e total são extraídos dele. Se faltar, pergunto: "Você pode encaminhar o recibo, enviar o PDF ou a imagem, ou colar o fornecedor / data / valor?"
- **Como a despesa foi paga**, obrigatório. Motivo: direciona a linha de crédito (cartão corporativo versus empréstimo do fundador versus dinheiro). Se faltar, pergunto: "Como isso foi pago, em um cartão corporativo (qual?), um cartão pessoal que será reembolsado, dinheiro, ou um ACH de outra entidade?"
- **Uma conta registrada de Empréstimo do Fundador a Pagar**, opcional. Motivo: necessária apenas se o recibo foi pago do próprio bolso. Se você não tiver, pergunto uma vez e adiciono ao seu plano de contas.

## Passos
<!-- houston-workflow:v1 -->

1. **Ler o contexto e travar o plano de contas.** Carregar `context/bookkeeping-context.md` (parar se ausente, pedir para rodar `set-up-my-books`), `config/context-ledger.json`, `config/chart-of-accounts.json` (**travado** para a execução, parar se ausente), `config/prior-categorizations.json`, e `config/party-rules.json`.

2. **Resolver as entradas do recibo.** Ordem de prioridade:
   - **Anexo inline**, ferramenta de Leitura (multimodal) no caminho de arquivo fornecido pelo usuário. Funciona com PDF e imagens (JPG / PNG / HEIC).
   - **Encaminhamento de e-mail**, `composio search inbox`, escolher o slug do Gmail / Outlook, buscar a mensagem por ID ou tópico, depois ler os arquivos anexos.
   - **Envio de arquivo**, `expenses/_inbox/*.{pdf,jpg,png,heic,eml}` na raiz do agente.

3. **Extrair os campos por recibo** via Leitura multimodal:
   - `vendor`, nome do estabelecimento como impresso.
   - `date`, YYYY-MM-DD; se só `MM-DD` estiver impresso, inferir o ano pelo contexto.
   - `total`, valor em dólares positivo (inverter para o lado de crédito do lançamento contábil).
   - `lineItems[]`, opcional, quando o recibo tem itens discriminados: cada `{description, amount, quantity?}`.
   - `paymentMethod`, "cartão pessoal" / "cartão corporativo 9041" / "dinheiro" / "ACH", perguntar uma vez se ilegível.
   - `taxAmount`, `tipAmount`, quando discriminados separadamente.
   - `currency`, padrão USD; se estrangeira, registrar e perguntar uma vez o valor na moeda local como liquidado.

   Se algum campo obrigatório (fornecedor / data / total) não puder ser extraído, parar e fazer UMA pergunta direcionada. Nunca advinhar.

4. **Canonicalizar o fornecedor**, mesma receita de `categorize-my-transactions`: remover prefixos de ruído e números de referência, Iniciais Maiúsculas. Correspondência aproximada (índice de conjunto de tokens ≥ 0,85) contra `prior-categorizations` / `party-rules`; preferir a chave armazenada como forma canônica.

5. **Escolher o código de conta.** Ordem de prioridade:
   1. Correspondência exata em `party-rules` → `confidence: 1.00`, `source: "rule"`.
   2. Correspondência aproximada em `prior-categorizations` (índice ≥ 0,85, código armazenado no plano de contas) → `confidence: 0.95`, `source: "prior_year"`.
   3. Raciocinar contra o plano de contas travado usando fornecedor mais descrição mais itens de linha mais valor mais o contexto do fundador (viagem versus escritório versus contratado de P&D). Confiança `≥ 0.90` → `source: "ai"`.
   4. Senão → Suspenso (`glCode = universal.suspenseCode.code`, confidence `0.50`, `category_status: "uncategorized"`).

   Nunca inventar códigos de conta. Se o recibo tiver linhas claramente separáveis (por exemplo, refeições mais hospedagem em um único talão de hotel), dividir em várias linhas de débito.

6. **Elaborar o lançamento contábil.** Partida dobrada balanceada, um por recibo:
   - **Débitos**, linha(s) de despesa categorizada por `glCode`.
   - **Crédito**, determinado por `paymentMethod`:
     - `cartão corporativo {last4}` → conta do cartão (`context-ledger.domains.banks.accounts[].glCode` para aqueles últimos 4 dígitos). Nota: mais tarde faz deduplicação contra o feed do cartão, sinalizar `supportingDocs` para que `reconcile-my-accounts` detecte lançamento em duplicidade.
     - `cartão pessoal` / `dinheiro` / reembolsado → creditar `Empréstimo do Fundador a Pagar` (buscar no plano de contas; perguntar UMA vez para registrar se ausente).
     - `ACH` de outra entidade → creditar `Devido a Parte Relacionada` ou `Empréstimo do Fundador a Pagar`, o que for aplicável.
   - Memorando: `"{fornecedor}, {data}, {descrição curta}"`.
   - Todo `glCode` validado contra `config/chart-of-accounts.json`.
   - `sum(debits) === sum(credits)` até 1 centavo.
   - `status: "draft"`, `reversing: false`, `period` = `YYYY-MM` da data do recibo.

7. **Ramo `mode=batch`.** Se acionado:
   - Fazer os Passos 2 a 5 para cada recibo do lote.
   - Produzir o markdown de despesa por recibo (Passo 8) para rastreabilidade.
   - Produzir UM lançamento contábil resumo: uma linha de débito por código de conta único (somada entre recibos), um crédito:
     - `Reembolsos a Provisionar` se os recibos forem do mesmo período e o reembolso ainda não tiver sido feito.
     - `Empréstimo do Fundador a Pagar` se o fundador adiantou as despesas (comum em pré-seed).
   - `supportingDocs[]` lista todo caminho de markdown por recibo.
   - Memorando: `"Lote de reembolso do fundador, {N} recibos, {período}"`.

8. **Gravar o documento de despesa por recibo** em `expenses/{YYYY-MM-DD}-{vendor-slug}.md`. Estrutura:
   - Cabeçalho: fornecedor, data, valor, forma de pagamento, confiança, origem.
   - Tabela de itens de linha (se discriminado).
   - **Lançamento contábil (rascunho)**, lançamento balanceado inline, tabela markdown `{glCode | glName | debit | credit | memo}`.
   - Caminho do recibo anexado (copiado para `expenses/_attachments/` na primeira vez que for visto).
   - Perguntas em aberto (se algum campo foi perguntado inline).

9. **Atualizar os índices**, todos leitura-mesclagem-gravação, atômicos (`.tmp` mais renomear):
   - `journal-entries.json` na raiz do agente, anexar o lançamento contábil com o esquema completo de `data-schema.md` (`id, date, type: "adjustment" | "reclass", memo, reversing: false, period, lines[], status: "draft", supportingDocs[]`).
   - Se a categoria for para Suspenso, anexar a `suspense.json`.
   - `outputs.json`, uma linha por recibo `{type: "expense-receipt", title, summary, path, status: "draft", domain: "transactions"}`. No modo lote, anexar também a linha resumo `{type: "journal-entry", title: "Lote de reembolso {período}", ...}`.

10. **Resumir para o usuário.** Um bloco compacto:
    - Contagem de recibos, total em dólares, divisão de categorias (categorizado / Suspenso).
    - Histograma de código de conta (os 3 principais códigos com valores).
    - Caminho(s) dos documentos de despesa e dos lançamentos contábeis elaborados.
    - Lembrete: o lançamento contábil é `draft`, você lança no QuickBooks Online / Xero.

## Saídas

- `expenses/{YYYY-MM-DD}-{slug}.md`, um arquivo por recibo (também no modo lote, para rastreabilidade).
- `expenses/_attachments/`, arquivos de recibo copiados de `_inbox/` ou da busca no Composio.
- `journal-entries.json`, leitura-mesclagem-gravação, lançamento contábil anexado com `status: "draft"`.
- `suspense.json`, apenas se alguma linha for para Suspenso.
- `outputs.json`, uma linha por recibo mais a linha resumo no modo lote.

Attribution

gethoustongethouston
View sourceMore from gethouston →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Mysql Best Practices

MySQL development best practices for schema design, query optimization, and database administration

2481 votes

Jpa Patterns

Spring Boot中的JPA/Hibernate实体设计、关系、查询优化、事务、审计、索引、分页和连接池模式。

2456590 votes

Postgres Patterns

基于Supabase最佳实践的PostgreSQL数据库模式,用于查询优化、架构设计、索引和安全。

2456590 votes

Clickhouse Io

ClickHouse数据库模式、查询优化、分析和数据工程最佳实践,适用于高性能分析工作负载。

2456590 votes

V3 Memory Unification

Unify 6+ memory systems into AgentDB with HNSW indexing for 150x-12,500x search improvements. Implements ADR-006 (Unified Memory Service) and ADR-009 (Hybrid Memory Backend).

701370 votes
View all in databases →