# CNAB400 - Detalhe do Arquivo - Baseado na documentação do SICOOB
# @author Wemerson Januario wemerson.januario@gmail.com

codigo_ocorrencia:
  #Identificação do Registro Detalhe: 1 (um)
  pos: [1, 1]
  picture: '9(01)'
  default:  '1'

codigo_inscricao:
  # Tipo de Inscrição do Beneficiário:
  # "01" = CPF
  # "02" = CNPJ
  pos: [2, 3]
  picture: '9(02)'

numero_inscricao:
  # Número do CPF/CNPJ do Beneficiário
  pos: [4, 17]
  picture: '9(14)'

agencia:
  # Prefixo da Cooperativa
  pos: [18, 21]
  picture: '9(04)'

agencia_dv:
  # Dígito Verificador do Prefixo
  pos: [22, 22]
  picture: '9(01)'
  default:  '0'

conta:
  # Conta Corrente
  pos: [23, 30]
  picture: '9(08)'

conta_dv:
  # Dígito Verificador da Conta
  pos: [31, 31]
  picture: 'X(01)'

zeros01:
  # Número do Convênio de Cobrança do Beneficiário: "000000"
  pos: [32, 37]
  picture: '9(06)'
  default:  '0'

uso_empresa:
  # Número de Controle do Participante: Brancos
  pos: [38, 62]
  picture: 'X(25)'
  default:  ''

nosso_numero:
  # Nosso Número:
  # - Para comando 01 com emissão a cargo do Sicoob Preencher com zeros
  # - Para comando 01 com emissão a cargo do Beneficiário ou para os demais comandos:
  # Preencher da seguinte forma:
  # - Posição 063 a 073 – Número seqüencial a partir de ""0000000001"", não sendo admitida reutilização ou duplicidade.
  # - Posição 074 a 074 – DV do Nosso-Número, calculado pelo módulo 11."
  pos: [63, 74]
  picture: '9(12)'

numero_parcela:
  # Número da Parcela: "01" se parcela única
  pos: [75, 76]
  picture: '9(02)'
  default:  '1'

zeros02:
  # Grupo de Valor: "00"
  pos: [77, 78]
  picture: '9(02)'
  default:  '0'

brancos02:
  # Complemento do Registro: Brancos
  pos: [79, 81]
  picture: 'X(03)'
  default:  ''

brancos03:
  pos: [82, 82]
  picture: 'X(01)'
  default:  ''

brancos04:
  pos: [83, 85]
  picture: 'X(03)'
  default:  ''

zeros03:
  pos: [86, 88]
  picture: '9(03)'
  default:  '0'

zeros04:
  pos: [89, 89]
  picture: '9(01)'
  default:  '0'

numero_contrato_garantia:
  # Número do Contrato Garantia:                                                                                                                                                                                                                                                                     Para Carteira 1 preencher ""00000"";
  # Para Carteira 3 preencher com o  número do contrato sem DV.
  pos: [90, 94]
  picture: '9(05)'
  default:  '0'

numero_contrato_garantia_dv:
  # DV do contrato:                                                                                                                                                                                                                                                                     Para Carteira 1 preencher ""0"";
  # Para Carteira 3 preencher com o Dígito Verificador.
  pos: [95, 95]
  picture: 'X(01)'
  default:  '0'

numero_bordero:
  # Numero do borderô: preencher em caso de carteira 3
  pos: [96, 101]
  picture: '9(06)'
  default:  '0'

brancos05:
  pos: [102, 105]
  picture: 'X(04)'
  default:  ''

tipo_emissao:
  # 1 Cooperativa 2 Cliente
  pos: [106, 106]
  picture: '9(01)'
  default:  '2'

numero_carteira:
  # Carteira/Modalidade:
  # 01 = Simples Com Registro
  # 02 = Simples Sem Registro
  # 03 = Garantida Caucionada
  pos: [107, 108]
  picture: '9(02)'

comando_movimento:
  # Comando/Movimento:
  #
  # 01 = Registro de Títulos
  # 02 = Solicitação de Baixa
  # 04 = Concessão de Abatimento
  # 05 = Cancelamento de Abatimento
  # 06 = Alteração de Vencimento
  # 08 = Alteração de Seu Número
  # 09 = Instrução para Protestar
  # 10 = Instrução para Sustar Protesto
  # 11 = Instrução para Dispensar Juros
  # 12 = Alteração de Pagador
  # 31 = Alteração de Outros Dados
  # 34 = Baixa - Pagamento Direto ao Beneficiário
  pos: [109, 110]
  picture: '9(02)'
  default: '01'

numero_documento:
  # Seu Número/Número atribuído pela Empresa
  pos: [111, 120]
  picture: '9(10)'

vencimento:
  # Data Vencimento: Formato DDMMAA
  # Normal "DDMMAA"
  # A vista = "888888"
  # Contra Apresentação = "999999"
  pos: [121, 126]
  picture: '9(06)'
  date_format: '%d%m%y'

valor_titulo:
  # Valor do Titulo
  pos: [127, 139]
  picture: '9(11)V9(2)'

codigo_banco:
  # Número Banco: "756"
  pos: [140, 142]
  picture: '9(03)'
  default:  '756'

agencia_cobradora:
  # Prefixo da Cooperativa
  pos: [143, 147]
  picture: '9(05)'

especie:
  # Espécie do Título :
  # 01 = Duplicata Mercantil
  # 02 = Nota Promissória
  # 03 = Nota de Seguro
  # 05 = Recibo
  # 06 = Duplicata Rural
  # 08 = Letra de Câmbio
  # 09 = Warrant
  # 10 = Cheque
  # 12 = Duplicata de Serviço
  # 13 = Nota de Débito
  # 14 = Triplicata Mercantil
  # 15 = Triplicata de Serviço
  # 18 = Fatura
  # 20 = Apólice de Seguro
  # 21 = Mensalidade Escolar
  # 22 = Parcela de Consórcio
  # 99 = Outros
  pos: [148, 149]
  picture: '9(02)'

aceite:
  # Aceite do Título:
  # "0" = Sem aceite
  # "1" = Com aceite
  pos: [150, 150]
  picture: 'X(01)'
  default: '0'

data_emissao:
  # Data de Emissão do Título: formato ddmmaa
  pos: [151, 156]
  picture: '9(06)'
  date_format: '%d%m%y'

instrucao1:
  # Primeira instrução codificada:
  #  Regras de impressão de mensagens nos boletos:
  #  * Primeira instrução (SEQ 34) = 00 e segunda (SEQ 35) = 00, não imprime nada.
  #  * Primeira instrução (SEQ 34) = 01 e segunda (SEQ 35) = 01, desconsidera-se as instruções CNAB e imprime as mensagens relatadas no trailler do arquivo.
  #  * Primeira e segunda instrução diferente das situações acima, imprimimos o conteúdo CNAB:
  #    00 = AUSENCIA DE INSTRUCOES
  #    01 = COBRAR JUROS
  #    03 = PROTESTAR 3 DIAS UTEIS APOS VENCIMENTO
  #    04 = PROTESTAR 4 DIAS UTEIS APOS VENCIMENTO
  #    05 = PROTESTAR 5 DIAS UTEIS APOS VENCIMENTO
  #    07 = NAO PROTESTAR
  #    10 = PROTESTAR 10 DIAS UTEIS APOS VENCIMENTO
  #    15 = PROTESTAR 15 DIAS UTEIS APOS VENCIMENTO
  #    20 = PROTESTAR 20 DIAS UTEIS APOS VENCIMENTO
  #    22 = CONCEDER DESCONTO SO ATE DATA ESTIPULADA
  #    42 = DEVOLVER APOS 15 DIAS VENCIDO
  #    43 = DEVOLVER APOS 30 DIAS VENCIDO"
  pos: [157, 158]
  picture: '9(02)'
  default:  '00'

instrucao2:
  pos: [159, 160]
  picture: '9(02)'
  default:  '00'

juros_um_dia:
  # Taxa de mora mês
  # Ex: 022000 = 2,20%
  pos: [161, 166]
  picture: '9(02)V9(4)'
  default:  '0'

multa:
  # Taxa de multa
  # Ex: 022000 = 2,20%
  pos: [167, 172]
  picture: '9(02)V9(4)'
  default:  '0'

tipo_distribuicao:
  # 1 Cooperativa 2 Cliente
  pos: [173, 173]
  picture: '9(01)'
  default:  '2'

desconto_ate:
  # Data primeiro desconto:
  # Informar a data limite a ser observada pelo cliente para o pagamento do título com Desconto no formato ddmmaa.
  # Preencher com zeros quando não for concedido nenhum desconto.
  # Obs: A data limite não poderá ser superior a data de vencimento do título.
  pos: [174, 179]
  picture: '9(06)'
  default:  '0'
  date_format: '%d%m%y'

valor_desconto:
  # Valor primeiro desconto:
  # Informar o valor do desconto, com duas casa decimais.
  # Preencher com zeros quando não for concedido nenhum desconto.
  pos: [180, 192]
  picture: '9(11)V9(2)'
  default:  '0'

codigo_moeda:
  # Código da moeda (9 = Real)
  pos: [193, 193]
  picture: '9(01)'
  default: '9'

qtde_moeda:
  # 194-205 – Valor IOF / Quantidade Monetária: "000000000000"
  # Se o código da moeda for REAL, o valor restante representa o IOF. Se o código da moeda for diferente de REAL, o valor restante será a quantidade monetária.
  pos: [194, 205]
  picture: '9(12)'
  default: '0'

abatimento:
  # Valor Abatimento
  pos: [206, 218]
  picture: '9(11)V9(2)'
  default:  '0'

sacado_codigo_inscricao:
  # "Tipo de Inscrição do Pagador:
  # "01" = CPF
  # "02" = CNPJ
  pos: [219, 220]
  picture: '9(02)'

sacado_numero_inscricao:
  # Número do CNPJ ou CPF do Pagador
  pos: [221, 234]
  picture: '9(14)'

nome:
  # Nome do Pagador
  pos: [235, 274]
  picture: 'X(40)'

logradouro:
  # Endereço do Pagador
  pos: [275, 311]
  picture: 'X(37)'

bairro:
  # Bairro do Pagador
  pos: [312, 326]
  picture: 'X(15)'

cep:
  # CEP do Pagador
  pos: [327, 334]
  picture: '9(08)'

cidade:
  # Cidade do Pagador
  pos: [335, 349]
  picture: 'X(15)'

estado:
  # UF do Pagador
  pos: [350, 351]
  picture: 'X(02)'

sacador:
  # Observações/Mensagem ou Sacador/Avalista:
  # Quando o SEQ 14 – Indicativo de Mensagem ou Sacador/Avalista - for preenchido com Brancos, as informações constantes desse campo serão impressas no campo “texto de responsabilidade da Empresa”, no Recibo do Sacado e na Ficha de Compensação do boleto de cobrança.
  # Quando o SEQ 14 – Indicativo de Mensagem ou Sacador/Avalista - for preenchido com “A” , este campo deverá ser preenchido com o nome/razão social do Sacador/Avalista"
  pos: [352, 391]
  picture: 'X(40)'
  default: ''

prazo:
  # Número de Dias Para Protesto:
  # Quantidade dias para envio protesto. Se = "0", utilizar dias protesto padrão do cliente cadastrado na cooperativa.
  pos: [392, 393]
  picture: 'X(02)'
  default:  '0'

brancos06:
  # Complemento do Registro: Brancos
  pos: [394, 394]
  picture: 'X(01)'
  default:  ''

numero_sequencial:
  # Seqüencial do Registro: Incrementado em 1 a cada registro
  pos: [395, 400]
  picture: '9(06)'