conneredu300 / cnab_yaml
此软件包最新版本(1.3.2)没有可用的许可证信息。
Cnab240和Cnab400格式说明翻译成Yaml
1.3.2
2016-08-05 17:57 UTC
README
此项目的目标是提供Cnab240和Cnab400文件结构的Yaml文件,目前我们有巴西银行和巴西伊塔乌银行的Cnab240,以及巴西银行和巴西伊塔乌银行的Cnab400。
如何贡献
您可以阅读您银行的文档,并基于它创建一个yaml文件来贡献。
这有什么用?
此项目被用作其他项目的基准,例如CnabPHP、cnab_python等,许多其他项目也可以从此项目衍生出来。
我需要知道什么
- 我们使用简单的字段名称,例如对于"银行代码"使用"codigo_banco"(带下划线和去掉"的")。
- 为了定义字段的类型,我们使用了一个Picture
什么是Picture
这个Picture基于伊塔乌银行的文档,可在以下链接找到:http://download.itau.com.br/bankline/layout_cobranca_400bytes_cnab_itau_mensagem.pdf
每个记录由两个字段组成,以两种格式呈现
- 字母数字(picture X):左对齐,右对齐空格。建议使用大写字母,避免使用特殊字符(例如:“Ç”,“?”,等)和图形化符号(例如:“Á”,“É”,“Ê”,等)。未使用的字段应填充空格。
- 数字(picture 9):右对齐,左对齐零。未使用的字段应填充零。- 假定逗号(picture V):指示数字字段内逗号的位置。例如:在“9(5)V9(2)”的图片中,数字“876,54”将被表示为“0087654”。
文件示例
generic: # Registro Header de Lote # Baseado na documentação da Caixa # Disponível em: http://downloads.caixa.gov.br/_arquivos/cobrcaixasicob/manuaissicob/CNAB_240_SICOB.pdf (Acesso em 23/04/2014) codigo_banco: # Código fornecido pelo Banco Central para identificação do Banco que está recebendo ou enviando o # arquivo, com o qual se firmou o contrato de prestação de serviços. # CAIXA ECONÔMICA FEDERAL = ‘104’ pos: [1, 3] picture: '9(3)' # isso significa: campo númerico, 3 digitos, preenchido com 0 a direita lote_servico: # Lote de Serviço # Número seqüencial para identificar cada lote de serviço. # Preencher com '0001' para o primeiro lote do arquivo. Para os demais: número do lote anterior # acrescido de 1. Deve ser o mesmo número dentro do lote. O número não poderá ser repetido dentro # do arquivo. # Se registro for Header do Arquivo = '0000' # Se registro for Trailer do Arquivo = '9999' pos: [4, 7] picture: '9(4)' 104: # Os seguintes campos são exclusivos da Caixa econômica federal (Código do Banco: 104) data_exemplo: pos: [8, 15] picture: '9(8)' date_format: '%d%m%Y' # mesmo padrão usado por linguagens como python e ruby valor_exemplo: pos: [16, 25] picture: '9(8)V9(2)' # isso significa 8 posições para a numero inteiro, mais 2 posições para as casas decimais 341: # Os seguintes campos são exclusivos do Itaú (Código do Banco 341) data_exemplo: pos: [8, 13] picture: '9(6)' date_format: '%d%m%y' outro_campo: pos: [14, 15] picture: 'X(2)' # Isso significa campo de texto com 2 caracteres (preenchido com espaço a direita) default: 'T' # Valor padrão do campo