Crates.io | boleto-utils-cli |
lib.rs | boleto-utils-cli |
version | 0.1.3 |
source | src |
created_at | 2022-12-01 00:49:13.327178 |
updated_at | 2023-08-26 22:30:35.125786 |
description | Utility CLI to parse brazilian payment slip (aka 'boleto') barcodes. |
homepage | https://github.com/fernandosavio/boleto-utils/ |
repository | https://github.com/fernandosavio/boleto-utils/ |
max_upload_size | |
id | 727184 |
size | 29,778 |
This package exposes functionalities provided by the create boleto-utils as a CLI.
As the subject of this project is specific to Brazil, this document is written in brazilian portuguese.
$ cargo install boleto-utils-cli
Garanta que ~/.cargo/bin
está no seu PATH para que binários instalados com cargo install
possam ser chamados diretamente no seu terminal.
$ boleto --help
USAGE:
boleto [SUBCOMMAND]
OPTIONS:
-h, --help Print help information
-V, --version Print version information
SUBCOMMANDS:
digito-verificador Calcula o dígito verificador de um código de barras validando apenas o
mínimo de dados necessário para realizar o cálculo [aliases: dv]
help Print this message or the help of the given subcommand(s)
info Analisa o código de barra retornando os dados extraídos [aliases: i]
Para ajuda em como usar o subcomando info
basta usar o comando boleto info --help
$ boleto info --help
Analisa o código de barra retornando os dados extraídos
USAGE:
boleto info [OPTIONS] <COD_BARRAS>
ARGS:
<COD_BARRAS> Código de barras ou linha digitável
OPTIONS:
-f, --format <FORMAT> Formato da saída [default: text] [possible values: text, json, yaml]
-h, --help Print help information
-V, --version Print version information
Passando um código de barras:
$ boleto info 30195917700001452780000000002310237287225104
Tipo: Cobrança
Código de barras: 30195917700001452780000000002310237287225104
Linha digitável: 30190000030000231023372872251045591770000145278
Banco: [301] BPP Instituição de Pagamento S.A.
Moeda: Real
Valor: 1452.78
Data Vencimento: 2022-11-22
Passando uma linha digitável:
$ boleto info 868900000015238626752850720221223001810200058809
Tipo: Arrecadação
Código de barras: 86890000001238626752857202212230081020005880
Linha digitável: 868900000015238626752850720221223001810200058809
Segmento: Carnês
Valor: 123.86
Retornando como JSON (usando --format json
ou -f json
):
$ boleto info 30195917700001452780000000002310237287225104 --format json
Tipo: Cobrança
Código de barras: 30195917700001452780000000002310237287225104
Linha digitável: 30190000030000231023372872251045591770000145278
Banco: [301] BPP Instituição de Pagamento S.A.
Moeda: Real
Valor: 1452.78
Data Vencimento: 2022-11-22
Retornando como YAML (usando --format yaml
ou -f yaml
):
$ boleto info 30195917700001452780000000002310237287225104 --format yaml
tipo: cobranca
dados:
cod_barras: '30195917700001452780000000002310237287225104'
linha_digitavel: '30190000030000231023372872251045591770000145278'
info_banco:
id: 301
nome: BPP Instituição de Pagamento S.A.
cod_moeda: Real
data_vencimento: 2022-11-22
valor: 1452.78
O subcomando digito-verificador
ou dv
recebe um código de barras ou linha digitável
possivelmente inválidos e retorna o código de barras, a linha digitável, o dígito verificador
geral e os dígitos verificadores dos campos da linha digitável calculados.
Obs.: o mínimo de campos é validado para que seja possível calcular os dígitos verificadores,
ou seja, o código de barras e linha digitável retornados tem seus dígitos verificadores válidos
porém não é garantido que outros campos sejam válidos. Se você quer validar todos os campos
de um input, você deve usar o comando info
.
Para ver ajuda do comando:
$ boleto dv --help
Calcula o dígito verificador de um código de barras validando apenas o mínimo de dados necessário
para realizar o cálculo
USAGE:
boleto digito-verificador [OPTIONS] <COD_BARRAS>
ARGS:
<COD_BARRAS> Código de barras ou linha digitável
OPTIONS:
-f, --format <FORMAT> Formato da saída [default: text] [possible values: text, json, yaml]
-h, --help Print help information
-V, --version Print version information
Calculando valores de código de barras:
$ boleto dv 12345678901234567890123456789012345678901234
DV geral: 5
DV campos: 0 | 3 | 3
Código de barras: 12345678901234567890123456789012345678901234
Linha digitável: 12340123405678901234356789012343567890123456789
$ boleto dv 80800000000000000000000000000000000000000000
DV geral: 7
DV campos: 7 | 0 | 0 | 0
Código de barras: 80870000000000000000000000000000000000000000
Linha digitável: 808700000007000000000000000000000000000000000000
Calculando valores de linha digitável:
$ boleto dv 12345678901234567890123456789012345678901234567
DV geral: 5
DV campos: 0 | 3 | 3
Código de barras: 12345678901234567890123456789012345678901234
Linha digitável: 12340123405678901234356789012343567890123456789
$ boleto dv 808000000000000000000000000000000000000000001111
DV geral: 9
DV campos: 7 | 0 | 0 | 2
Código de barras: 80890000000000000000000000000000000000000111
Linha digitável: 808900000007000000000000000000000000000000001112