Shioaji Pro
에이전트를 위한 거래 터미널: 코딩 에이전트가 전부 구축, UI 100% 오픈소스, 데스크톱에 AI 에이전트와 전문 주문 패널 내장
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Conciliação diária de PIX, débito e crédito em três pontas: PDV (relatório de cupons), maquininha Sicredi (relatórios do portal) e extrato bancário.
pip install python-calamine pandas openpyxl
python3 scripts/pdv_pix.py entrada/<relatorio_cupons>.xlsx saida
Gera saida/pdv_pix_<inicio>_a_<fim>.xlsx com o resumo de PIX por loja e dia e a lista
por cupom. Formas de pagamento do PDV tratadas como PIX de maquininha:
PIX MAQUININHA, PIX - TEF, TEF - PIX.
entrada/ arquivos recebidos (PDV, portal Sicredi, extrato)scripts/ leitores e motor de cruzamentosaida/ resultados de cada rodadapython3 scripts/concilia_pix_banco.py entrada/<extrato>.xlsx entrada/<pdv_cupons>.xlsx entrada/<portal_loja>.xlsx ...
Período de fechamento = o coberto pelo portal (ou --de/--ate). Regra medida (ROBS, 54 de 54): PIX cai D0 em dia útil; sábado, domingo e feriado caem no próximo dia útil. Sem taxa. Venda após a última data do extrato fica como "aguarda extrato", nunca como divergência.
scripts/concilia_cupom.py, roda depois das três formas): soma o
que sobrou sem par em cada cupom e procura na máquina, em qualquer modalidade, 1 a 4 vendas
com a mesma soma (36 h antes a 30 min depois do cupom, até 3 h entre si). Mesa dividida com
divisão de formas diferente nos dois lados. O painel marca "conciliado por total da comanda".python3 scripts/concilia_cartao.py entrada/<pdv_cupons>.xlsx entrada/<portal_loja>.xlsx ...
Gera saida/concilia_credito_*.xlsx e saida/concilia_debito_*.xlsx: PDV × maquininha pelo
valor bruto, cupom a cupom (PDV pode lançar de 30 min antes a 36 h depois da máquina). A ponta
do banco (D+1 útil, MDR, antecipação) é a etapa 2, ainda não iniciada.
Quando o PDV baixou com a forma errada e o caixa já fechou, o ajuste é feito no painel
(botão "Transferir para…" na pendência), com justificativa, autor e hora. Fica no banco de dados
do artefato, coleção ajustes, e é lido de volta a cada rodada com a ferramenta de dados do
artefato. O painel aplica os ajustes em cima dos números gerados.
Dois cupons baixados e um só pagamento na máquina é falta de caixa, mesmo com cupons idênticos (mesmo caixa, valor e minuto). O motor mantém "SEM PAR NA MAQUININHA" e preenche "Cupom igual" com o vizinho que casou, para a loja explicar. Vale (Ticket, Alelo, Pluxee, Fepas, Elo/Visa voucher) passado na máquina no mesmo minuto de uma baixa de cartão/PIX sem par vira "PROVÁVEL FORMA ERRADA: VOUCHER", transferível no painel para Voucher.
Regra da Hylary (20/10): toda baixa com forma errada que tenha evidência na máquina (mesmo valor,
mesma loja, poucos minutos de diferença: PIX baixado e cartão na máquina, crédito × débito, dinheiro
baixado e PIX na máquina, vale baixado como cartão) é transferida direto, sem clique um a um. O registro
continua igual: um documento em ajustes no painel (id <loja>_<data>_<cupom>_<origem>_<aut>), com a
justificativa e a autorização da máquina, e a cópia em ajustes/ajustes.csv. Só o que não tem par
claro continua como pendência para decisão.
A venda vai da abertura do caixa até a reabertura da loja às 10h. O PDV já informa o dia de
movimento; a Sicredi e o extrato viram à meia-noite. Todos os leitores convertem a maquininha
para o mesmo dia do PDV (pdv_pix.dia_movimento: datetime − 10 h), então o cruzamento, as
planilhas de saida/ e o painel usam um dia só. A coluna "Data calendário" guarda a data
original. portal_sicredi.ler_portais junta os Históricos de uma mesma loja (semanas diferentes,
exports sobrepostos) antes de cruzar. Exemplo: BIGGS 13, 09/10, PIX = R$ 2.440,69 nos dois lados
(40 cupons: 35 do dia, 2 do delivery fechados às 00:48 e 3 da madrugada).
Com o dia único, só sobra "virada" o cupom fechado no PDV depois das 10h do dia seguinte ao pagamento na máquina (raro). O painel marca o Δ desses dias como "virada de dia ✓", lista o cupom nos dois dias (com a data do outro lado em laranja) e cria uma pendência informativa "CONCILIADO · VIRADA DE DIA" por cupom. Não é divergência e não entra no em aberto. Exemplo: BIGGS 13, 09/10, PIX −R$ 95,08 = cupons 11328 e 11330 do delivery, pagos 09/10 à noite e fechados 10/10 00:48.
Quando a diferença entre PDV e máquina apareceu na contagem física do caixa (sobra ou falta),
o dia é fechado no painel pelo botão "Fechar dia…" na coluna "Fechamento" da tabela de dias (o botão
existe em todo dia com relatório da máquina, para a conferência diária, inclusive nos que já batem), com o
valor conferido no caixa, justificativa, autor e hora. Fica na coleção fechamentos do artefato
(id <loja>_<pix|credito|debito>_<data>). O dia e as pendências daquela data saem do em aberto, a
loja fecha, e o registro aparece ao abrir o dia (com botão "Reabrir dia"). Primeiro caso: MAPOLI,
PIX, 08/10, R$ 6,00 a mais na máquina que sobrou no caixa físico.
python3 scripts/gera_painel.py entrada/<pdv_cupons>.xlsx --de 2026-10-08 --ate 2026-10-14
Lê as planilhas de saida/ e grava painel/index.html (template em painel/template.html,
cores e tipografia do Manual de Identidade Visual · Grupo Ragga). Publicado em
https://claude.ai/artifact/8hmLnVrM6CiE3omwzP7oms — republicar a cada rodada.
O mesmo painel/index.html roda fora do Claude em https://conciliacao-diaria.vercel.app.
vercel.json publica só a pasta painel/ (as planilhas de entrada/ e saida/ não vão
pro site). Os ajustes, fechamentos e vistos ficam num Redis e passam por api/dados.js.
Configuração, uma vez só, no projeto da Vercel:
conciliacao-diaria. Isso cria a variável REDIS_URL.
(Também funciona com Upstash: KV_REST_API_URL/KV_REST_API_TOKEN pelo Marketplace
ou UPSTASH_REDIS_REST_URL/UPSTASH_REDIS_REST_TOKEN direto do site da Upstash.)Sem senha por padrão: quem tiver o link vê e grava. Se um dia quiser proteger, basta
criar a variável PAINEL_SENHA em Settings → Environment Variables e redeployar; o
painel passa a pedir a senha uma vez e guarda no navegador.
Na primeira abertura com o banco vazio, api/dados.js importa ajustes/seed_painel.json
(cópia do que estava gravado no painel do Claude em 22/10). A partir daí, o que for
gravado na Vercel fica na Vercel; o painel do Claude e o da Vercel não se sincronizam.
Quem estiver com o painel aberto vê o que os outros gravam em até 5 s (o painel pergunta
ao banco se a versão mudou e só baixa os dados quando mudou).
ajustes/importar.json é o caminho do Claude para gravar no banco sem acesso direto a ele:
ajustes, fechamentos e vistos listados ali entram no banco na primeira leitura depois do
deploy (cada versão do arquivo é aplicada uma vez; nunca sobrescreve o que já está gravado;
remover apaga ids). Depois de importado, o conteúdo pode ser substituído pelo lote seguinte.
python3 scripts/concilia_cartao_banco.py "entrada/extrato_todas_*.xlsx" entrada/portal/*detalhado*.xlsx --de 2026-10-01 --ate 2026-10-24 --aluguel "entrada/aluguel/*.xlsx" --recebimentos "entrada/recebimentos/*.xlsx"
Chave: (loja, data de pagamento, produto, bandeira). O portal informa, venda a venda, o líquido
(bruto − MDR) e a data efetiva do pagamento (sem ela, D+1 útil da data calendário); o extrato traz
o crédito já separado nesse eixo (SICREDI DEBITO VISA, SICREDI ANTEC MASTER, SICREDI CREDITO ELO).
Débito bate centavo a centavo. Crédito desconta a antecipação automática, cuja taxa muda por dia e sai do
próprio extrato (as bandeiras concordam entre si). Parte da ELO cai fora da antecipação, em D+2, pelo
líquido exato. O aluguel das máquinas é descontado da liquidação do dia da cobrança: o Histórico de
aluguel do portal (um arquivo por EC, entrada/aluguel/aluguel_<EC>_<AAAA-MM>.xlsx) entra no cálculo.
Melhor ainda é o Relatório Detalhado de Recebimentos Pagos (portal Sicredi, Meus Domicílios, um por EC,
entrada/recebimentos/recebimentos_<EC>_<de>_a_<ate>.xlsx): cada "Código de pagamento" é uma linha do extrato
e traz, venda a venda, o desconto de antecipação exato e as linhas "compensado por UR - Cobrança de Aluguel"
que mostram de qual liquidação (e bandeira) o aluguel saiu. Com ele o lote fecha sem deduzir taxa nem ratear
aluguel por tentativa (medido: ROBS, R$ 918,00 saíram em 02/10, 05/10 e de um voucher em 15/10).
Status por lote: CONCILIADO, DIVERGENTE, SEM CRÉDITO, AGUARDA EXTRATO, AGUARDA PORTAL (venda ainda sem
data efetiva no Histórico exportado; reexportar resolve), VENDA ANTES DO PERÍODO. Saída em
saida/concilia_cartao_banco_<de>_a_<ate>.xlsx; o painel lê as abas Recebimentos e Por dia de venda.
scripts/isaias_taxa.py --loja "ISAIAS 01 - MARINGA" --de 2026-10-01 --ate 2026-10-20 cruza o relatório de
cupons (totais + operador, entrada/pdv_totais_*.xlsx) e o analítico (entrada/pdv_analitico_*.xlsx) com o
Histórico de vendas da Sicredi, sem depender da forma de pagamento: casa valor exato (até 36 h, comanda virada)
e cupom × 1,10 = máquina (até 2 h), o par mais próximo no tempo primeiro. Gera saida/isaias_taxa_servico_<de>_a_<ate>.xlsx
com a prova par a par (terminal exclusivo do caixa, minutos até o fechamento, concorrentes livres).