Calcular o bruto da produção cooperativista por cooperado com base em dados coletados do Akaunting, Kimai e site da prefeitura.
Sistema | Descrição |
---|---|
Kimai | Registro de horas trabalhadas por projeto, emissão de relatório de horas trabalhadas para clientes |
Akaunting | Gestão financeira |
Site da prefeitura | Emissão de NFSe. Hoje o sistema dá suporte oficial apenas as prefeituras dos municípios do Rio e Niterói. |
:
(dois pontos)setor: <setor>
Akaunting
<cpf/CNPJ>|<setor>
referência
.Recorrência
ou Serviço
Cliente > Interno > Cooperado > Produção > Distribuição de sobras
LibreCode
(é um cliente interno)Cliente (custo)
quando forem custos de clientes<cpf/CNPJ>|<setor>
na transação no campo Referência
para que seja possível identificar qual cliente deverá reembolsar este custo de entrada. Lembrar de acrescentar o setor sempre que necessário.Plano de saúde
Cooperado: Hedy Lamarr; CPF: 00000000000; Valor: 781,95
Cooperado: Grace Hopper; CPF: 11111111111; Valor: R$ 439,55
Cooperado: Ada Lovelace, CPF: 11111111111, Valor: R$439,55
Dica: Esta descrição é coletada com a seguinte regex:
/^Cooperado: .*CPF: (?<CPF>\d+)[,;]? Valor: (R\$ ?)?(?<value>.*)$/i
Customização da fatura (compra ou venda) ou transação deve ser inserida na descrição. Valores possíveis: | Nome | Descrição |
---|---|---|
NFSe | Número da NFSe | |
Transação do mês | Mês onde esta transação será contabilizada. Formato: 2023-09 |
|
CNPJ cliente | CNPJ do cliente de quem será cobrado o valor | |
Setor | Setor do cliente, quando é um CNPJ com mais de um contrato | |
Arquivar | sim = Arquivar transação e não utilizá-la. |
Valores customizados precisam ter o nome da propriedade separado do valor com dois pointos, exemplo:
NFSe: 123456789
Transação do mês: 2023-05
.env
no Akaunting e atualizar o .env
com os id'sPrimeiro clone o repositório e entre nele.
Copie o arquivo .env.example
para .env
Edite o arquivo .env
preenchendo os dados necessários.
Em um terminal:
docker compose up
Em outro terminal:
docker compose exec php bash
composer install
php ./bin/import migrations:migrate -n
O principal comando é:
make:producao
Description:
Produção cooperativista por cooperado
Usage:
make:producao [options]
Options:
--csv To output as CSV
--database Save to default database
--ano-mes=ANO-MES Ano e mês para gerar a produção cooperativista, formato: YYYY-mm
--dias-uteis=DIAS-UTEIS Total de dias úteis no mês trabalhado. Se não informar, irá calcular com base nos dias úteis de um mês considerando apenas feriados nacionais.
--dia-util-pagamento=DIA-UTIL-PAGAMENTO Número ordinal do dia útil quando o pagamento será feito [default: 5]
--percentual-maximo=PERCENTUAL-MAXIMO Percentual máximo para pagamento de dispêndios [default: 25]
--baixar-dados=BAIXAR-DADOS Acessa todas as bases externas e atualiza o banco de dados local. Valores: 1 = sim, 0 = não. [default: 1]
--atualiza-producao Atualiza a produção cooperativista no Akaunting
--ods To output as ods
--baixar-dados=0
Após executar uma vez e constatar que baixou todos os dados corretamente, você pode usar esta opção para não ficar baixando os dados de todas as fontes externas o tempo inteiro pois baixar isto tudo é o que hoje faz este comando demorar um pouco. Esta opção só é útil caso você queira ficar executando o mesmo comando mais de uma vez quando for analizar os dados importados ou os logs do sistema ou debugar a aplicação.
O comando principal é composto pela execução independente de cada um dos comandos abaixo que você provavelmente não precisará usar:
Available commands:
get
get:categories Get categories
get:customers Get customers
get:invoices Get invoices
get:nfse Get NFSe
get:projects Get projects
get:taxes Get taxes
get:timesheets Get timesheets
get:transactions Get transactions
get:users Get users
Tudo (ou quase tudo) o que é feito fica registrado em log e pode ser monitorado em:
tail -f logs/system.log