├── .gitignore ├── src ├── Model │ ├── HeaderLote.js │ ├── TrailerLote.js │ ├── HeaderArquivo.js │ ├── TrailerArquivo.js │ ├── BaseSerializable.js │ ├── Retorno.js │ ├── Linha.js │ ├── Remessa.js │ └── Lote.js ├── IntercambioBancarioFileAbstract.js ├── Nodenab.js ├── IntercambioBancarioRemessaFileAbstract.js ├── IntercambioBancario.js ├── IntercambioBancarioRetornoFileAbstract.js ├── Parser │ └── Layout.js ├── Output │ └── RemessaFile.js ├── Format │ └── Picture.js └── Input │ └── RetornoFile.js ├── .babelrc ├── package.json ├── .github └── workflows │ └── npm-publish.yml ├── CODE_OF_CONDUCT.md ├── README.md └── layouts └── 237 ├── 240 ├── multipag_titulos_cobranca.json ├── multipag_tributos.json └── multipag_transferencias.json └── 400 └── cobranca.json /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .gitignore 3 | .idea/ 4 | package-lock.json 5 | node_modules 6 | *.lock 7 | test 8 | dist/ -------------------------------------------------------------------------------- /src/Model/HeaderLote.js: -------------------------------------------------------------------------------- 1 | const BaseSerializable = require('./BaseSerializable'); 2 | 3 | module.exports = class HeaderLote extends BaseSerializable {}; -------------------------------------------------------------------------------- /src/Model/TrailerLote.js: -------------------------------------------------------------------------------- 1 | const BaseSerializable = require('./BaseSerializable'); 2 | 3 | module.exports = class TrailerLote extends BaseSerializable {}; -------------------------------------------------------------------------------- /src/Model/HeaderArquivo.js: -------------------------------------------------------------------------------- 1 | const BaseSerializable = require('./BaseSerializable'); 2 | 3 | module.exports = class HeaderArquivo extends BaseSerializable {}; -------------------------------------------------------------------------------- /src/Model/TrailerArquivo.js: -------------------------------------------------------------------------------- 1 | const BaseSerializable = require('./BaseSerializable'); 2 | 3 | module.exports = class TrailerArquivo extends BaseSerializable {}; -------------------------------------------------------------------------------- /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["es2015", "stage-2"], 3 | "plugins": [["resolver", {"resolveDirs": ["src"]}]], 4 | "sourceMaps": true, 5 | "retainLines": true 6 | } 7 | -------------------------------------------------------------------------------- /src/IntercambioBancarioFileAbstract.js: -------------------------------------------------------------------------------- 1 | module.exports = class IntercambioBancarioFileAbstract { 2 | constructor() { 3 | this._model = null; 4 | } 5 | 6 | generate(path) { 7 | throw new Error('You have to implement the method generate!'); 8 | } 9 | }; -------------------------------------------------------------------------------- /src/Nodenab.js: -------------------------------------------------------------------------------- 1 | const Layout = require('./Parser/Layout'); 2 | const Remessa = require('./Model/Remessa'); 3 | const RemessaFile = require('./Output/RemessaFile'); 4 | const RetornoFile = require('./Input/RetornoFile'); 5 | 6 | module.exports = { 7 | Layout, 8 | Remessa, 9 | RemessaFile, 10 | RetornoFile 11 | }; -------------------------------------------------------------------------------- /src/Model/BaseSerializable.js: -------------------------------------------------------------------------------- 1 | module.exports = class BaseSerializable { 2 | constructor() { 3 | this._data = {}; 4 | } 5 | 6 | toJSON() { 7 | return this._data; 8 | } 9 | 10 | set(name, value) { 11 | this._data[name] = value; 12 | } 13 | 14 | get(name) { 15 | return this._data[name] || null; 16 | } 17 | 18 | includes(name) { 19 | return Object.keys(this._data).includes(name); 20 | } 21 | 22 | excludes(name) { 23 | delete this._data[name]; 24 | } 25 | } -------------------------------------------------------------------------------- /src/IntercambioBancarioRemessaFileAbstract.js: -------------------------------------------------------------------------------- 1 | const IntercambioBancarioFileAbstract = require('./IntercambioBancarioFileAbstract'); 2 | const Picture = require('./Format/Picture'); 3 | 4 | module.exports = class IntercambioBancarioRemessaFileAbstract extends IntercambioBancarioFileAbstract { 5 | constructor(model) { 6 | super(); 7 | 8 | this._model = model; 9 | } 10 | 11 | _encode(fieldsDef, modelSection) { 12 | let encoded = ''; 13 | 14 | Object.keys(fieldsDef).forEach((field) => { 15 | if (modelSection[field] !== undefined) { 16 | let format = fieldsDef[field]['picture']; 17 | encoded += Picture.encode(modelSection[field], format, { fieldDesc : fieldsDef[field] , field}) 18 | } 19 | }); 20 | 21 | return encoded; 22 | } 23 | }; -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodenab", 3 | "version": "1.2.3", 4 | "description": "Uma biblioteca para remessa e retorno de arquivos 400 e 240 do padrão cnab", 5 | "main": "dist/Nodenab.js", 6 | "scripts": { 7 | "build": "NODE_ENV=production ./node_modules/.bin/babel src --out-dir ./dist", 8 | "postbuild": "npm version from-git --allow-same-version", 9 | "prepublish": "npm run build" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "git+ssh://git@github.com/developers-vitta/nodenab.git" 14 | }, 15 | "keywords": [ 16 | "cnab", 17 | "bradesco", 18 | "240", 19 | "400" 20 | ], 21 | "author": "Gilson F. B. Souza ", 22 | "license": "GPL-3.0", 23 | "bugs": { 24 | "url": "https://github.com/developers-vitta/nodenab/issues" 25 | }, 26 | "homepage": "https://github.com/developers-vitta/nodenab#readme", 27 | "devDependencies": { 28 | "babel": "^6.23.0", 29 | "babel-cli": "^6.26.0", 30 | "babel-core": "6.25.0", 31 | "babel-plugin-resolver": "^1.1.0", 32 | "babel-preset-es2015": "^6.18.0", 33 | "babel-preset-stage-2": "6.22.0", 34 | "babel-register": "^6.26.0", 35 | "babel-resolver": "^1.1.0" 36 | }, 37 | "dependencies": { 38 | "moment": "^2.19.1" 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/IntercambioBancario.js: -------------------------------------------------------------------------------- 1 | const HeaderArquivo = require('./Model/HeaderArquivo'); 2 | const TrailerArquivo = require('./Model/TrailerArquivo'); 3 | 4 | module.exports = class IntercambioBancario { 5 | constructor(layout) { 6 | this._layout = layout; 7 | this.header = new HeaderArquivo(); 8 | this.trailer = new TrailerArquivo(); 9 | this.lotes = []; 10 | } 11 | 12 | getLayout() { 13 | return this._layout; 14 | } 15 | 16 | inserirLote(lote) { 17 | this.lotes.push(lote); 18 | 19 | return this; 20 | } 21 | 22 | removerLote(sequencial) { 23 | let found = -1; 24 | 25 | this.lotes.forEach((lote, index) => { 26 | if (lote.sequencial === sequencial) { 27 | found = index; 28 | } 29 | }); 30 | 31 | if (found > -1) { 32 | delete this.lotes[found]; 33 | } 34 | 35 | return this; 36 | } 37 | 38 | limparLotes() { 39 | this.lotes = []; 40 | 41 | return this; 42 | } 43 | 44 | toJSON() { 45 | let headerArquivo = this.header.toJSON(); 46 | let trailerArquivo = this.trailer.toJSON(); 47 | let lotes = this.lotes; 48 | 49 | return { 50 | header_arquivo: headerArquivo, 51 | lotes, 52 | trailer_arquivo: trailerArquivo, 53 | }; 54 | } 55 | }; -------------------------------------------------------------------------------- /.github/workflows/npm-publish.yml: -------------------------------------------------------------------------------- 1 | # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created 2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages 3 | 4 | name: Node.js Package 5 | 6 | on: 7 | release: 8 | types: [created] 9 | 10 | jobs: 11 | build: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v2 15 | - uses: actions/setup-node@v2 16 | with: 17 | node-version: 12 18 | - run: npm ci 19 | - run: npm test 20 | 21 | publish-npm: 22 | needs: build 23 | runs-on: ubuntu-latest 24 | steps: 25 | - uses: actions/checkout@v2 26 | - uses: actions/setup-node@v2 27 | with: 28 | node-version: 12 29 | registry-url: https://registry.npmjs.org/ 30 | - run: npm ci 31 | - run: npm publish 32 | env: 33 | NODE_AUTH_TOKEN: ${{secrets.npm_token}} 34 | 35 | publish-gpr: 36 | needs: build 37 | runs-on: ubuntu-latest 38 | permissions: 39 | contents: read 40 | packages: write 41 | steps: 42 | - uses: actions/checkout@v2 43 | - uses: actions/setup-node@v2 44 | with: 45 | node-version: 12 46 | registry-url: https://npm.pkg.github.com/ 47 | - run: npm ci 48 | - run: npm publish 49 | env: 50 | NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} 51 | -------------------------------------------------------------------------------- /src/Model/Retorno.js: -------------------------------------------------------------------------------- 1 | module.exports = class Retorno { 2 | constructor() { 3 | this.headerArquivo = {}; 4 | this.trailerArquivo = {}; 5 | this.lotes = []; 6 | } 7 | 8 | decodeHeaderLote(linha) { 9 | const layout = (linha.getTipo() === 'remessa') ? 10 | linha.getLayout().getRemessaLayout() : 11 | linha.getLayout().getRetornoLayout(); 12 | const campos = layout['header_lote']; 13 | let dados = {}; 14 | 15 | Object.keys(campos).forEach((nome) => { 16 | dados[nome] = linha.obterValorCampo(campos[nome]) 17 | }); 18 | 19 | return dados; 20 | } 21 | 22 | decodeTrailerLote(linha) { 23 | const layout = (linha.getTipo() === 'remessa') ? 24 | linha.getLayout().getRemessaLayout() : 25 | linha.getLayout().getRetornoLayout(); 26 | const campos = layout['trailer_lote']; 27 | let dados = {}; 28 | 29 | Object.keys(campos).forEach((nome) => { 30 | dados[nome] = linha.obterValorCampo(campos[nome]) 31 | }); 32 | 33 | return dados; 34 | } 35 | 36 | getTotalLotes() { 37 | return this.lotes.length; 38 | } 39 | 40 | getTotalTitulos() { 41 | let total = 0; 42 | 43 | this.lotes.forEach((lote) => { 44 | total += lote['titulos'].length; 45 | }); 46 | 47 | return total; 48 | } 49 | 50 | toJSON() { 51 | return { 52 | header: this.headerArquivo, 53 | trailer: this.trailerArquivo, 54 | lotes: this.lotes 55 | }; 56 | } 57 | }; -------------------------------------------------------------------------------- /src/Model/Linha.js: -------------------------------------------------------------------------------- 1 | const Picture = require("../Format/Picture"); 2 | 3 | module.exports = class Linha { 4 | constructor(linhaStr, layout, tipo = "remessa") { 5 | this.linhaStr = linhaStr; 6 | this.layout = layout; 7 | this.tipo = tipo.toLowerCase(); 8 | } 9 | 10 | getDadosSegmento(segmentoKey) { 11 | const layout = 12 | this.tipo === "remessa" 13 | ? this.layout.getRemessaLayout() 14 | : this.layout.getRetornoLayout(); 15 | 16 | if (layout["detalhes"][segmentoKey] === undefined) { 17 | throw new Error( 18 | `Erro ao processar o seguimento ${segmentoKey}. Não foi possível identificar um layout válido para o mesmo` 19 | ); 20 | } 21 | 22 | const campos = layout["detalhes"][segmentoKey]; 23 | let dados = {}; 24 | 25 | Object.keys(campos).forEach(nome => { 26 | dados[nome] = this.obterValorCampo(campos[nome]); 27 | }); 28 | 29 | return dados; 30 | } 31 | 32 | obterValorCampo(definicao) { 33 | let tipo; 34 | 35 | if ((tipo = Picture.REGEX_VALID_FORMAT.exec(definicao["picture"]))) { 36 | const inicio = definicao["pos"][0] - 1; 37 | const tamanho = Picture.getLength(definicao["picture"]); 38 | 39 | return Picture.decode( 40 | this.linhaStr.substr(inicio, tamanho), 41 | definicao["picture"] 42 | ); 43 | } else { 44 | throw new Error( 45 | `Erro ao obter valor de campo. O padrão (${format}) não é um formato válido` 46 | ); 47 | } 48 | } 49 | 50 | getLayout() { 51 | return this.layout; 52 | } 53 | 54 | getTipo() { 55 | return this.tipo; 56 | } 57 | }; 58 | -------------------------------------------------------------------------------- /src/Model/Remessa.js: -------------------------------------------------------------------------------- 1 | const Picture = require('../Format/Picture'); 2 | const IntercambioBancario = require('../IntercambioBancario'); 3 | const Lote = require('./Lote'); 4 | 5 | module.exports = class Remessa extends IntercambioBancario { 6 | constructor(layout) { 7 | super(layout); 8 | 9 | let remessaLayout = this._layout.getRemessaLayout(); 10 | 11 | if (remessaLayout['header_arquivo']) { 12 | Object.keys(remessaLayout['header_arquivo']).forEach((field) => { 13 | this.header.set( 14 | field, 15 | (remessaLayout['header_arquivo'][field]['default'] !== undefined) ? 16 | Picture.encode( 17 | remessaLayout['header_arquivo'][field]['default'], 18 | remessaLayout['header_arquivo'][field]['picture'], 19 | { field } 20 | ) : 21 | '' 22 | ); 23 | }) 24 | } 25 | 26 | if (remessaLayout['trailer_arquivo']) { 27 | Object.keys(remessaLayout['trailer_arquivo']).forEach((field) => { 28 | this.trailer.set( 29 | field, 30 | (remessaLayout['trailer_arquivo'][field]['default'] !== undefined) ? 31 | Picture.encode( 32 | remessaLayout['trailer_arquivo'][field]['default'], 33 | remessaLayout['trailer_arquivo'][field]['picture'], 34 | { field } 35 | ) : 36 | '' 37 | ); 38 | }) 39 | } 40 | } 41 | 42 | novoLote(sequencial = 1) { 43 | return new Lote(this._layout.getRemessaLayout(), sequencial); 44 | } 45 | }; -------------------------------------------------------------------------------- /src/IntercambioBancarioRetornoFileAbstract.js: -------------------------------------------------------------------------------- 1 | const IntercambioBancarioFileAbstract = require("./IntercambioBancarioFileAbstract"); 2 | const Picture = require("./Format/Picture"); 3 | const Retorno = require("./Model/Retorno"); 4 | const Linha = require("./Model/Linha"); 5 | 6 | module.exports = class IntercambioBancarioRetornoFileAbstract extends IntercambioBancarioFileAbstract { 7 | static get REGISTRO_HEADER_ARQUIVO() { 8 | return 0; 9 | } 10 | 11 | static get REGISTRO_HEADER_LOTE() { 12 | return 1; 13 | } 14 | 15 | static get REGISTRO_DETALHES() { 16 | return 3; 17 | } 18 | 19 | static get REGISTRO_TRAILER_LOTE() { 20 | return 5; 21 | } 22 | 23 | static get REGISTRO_TRAILER_ARQUIVO() { 24 | return 9; 25 | } 26 | 27 | constructor(layout, linhas, tipo = "retorno") { 28 | super(); 29 | this._layout = layout; 30 | this._tipo = tipo; 31 | this._linhas = []; 32 | this._totalLotes = 0; 33 | linhas.split("\n").forEach(linha => { 34 | if (linha === "") { 35 | return; 36 | } 37 | 38 | this._linhas.push(linha); 39 | }); 40 | 41 | if (!this._linhas) { 42 | throw new Error(`O arquivo de retorno passado é inválido`); 43 | } 44 | 45 | this._calculaTotalLotes(); 46 | this._model = new Retorno(); 47 | } 48 | 49 | _calculaTotalLotes() { 50 | this._totalLotes = 1; 51 | const layout = this._layout.getLayout(); 52 | const linhaTrailerArquivoStr = this._linhas[this._linhas.length - 1]; 53 | 54 | let linha = new Linha(linhaTrailerArquivoStr, this._layout, "retorno"); 55 | 56 | if (layout === "240") { 57 | const definicao = { pos: [18, 23], picture: "9(6)" }; 58 | 59 | this._totalLotes = +linha.obterValorCampo(definicao); 60 | } else { 61 | this._totalLotes = 1; 62 | } 63 | 64 | return this._totalLotes; 65 | } 66 | 67 | getTotalLotes() { 68 | return this._totalLotes; 69 | } 70 | }; 71 | -------------------------------------------------------------------------------- /src/Parser/Layout.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | module.exports = class Layout { 4 | constructor(banco, layout = '240', arquivo, {layoutPath = '../../layouts', loadFromFile = true}) { 5 | this._arquivo = arquivo; 6 | if (loadFromFile) { 7 | this._config = require(path.resolve(`${layoutPath}/${banco}/${layout}/${arquivo}.json`)); 8 | } else { 9 | if (typeof arquivo === "object" && 10 | Object.keys(arquivo).includes('servico') && 11 | Object.keys(arquivo).includes('versao') && 12 | Object.keys(arquivo).includes('layout') && 13 | Object.keys(arquivo).includes('remessa') && 14 | Object.keys(arquivo).includes('retorno') && 15 | arquivo['layout'] === layout) { 16 | this._config = arquivo; 17 | } else { 18 | throw new Error('O layout informado é inválido'); 19 | } 20 | } 21 | } 22 | 23 | getRemessaLayout() { 24 | if (!this._config['remessa']) { 25 | throw new Error(`Falta a seção 'remessa' no arquivo de layout`); 26 | } 27 | 28 | return this._config['remessa']; 29 | } 30 | 31 | getRetornoLayout() { 32 | if (!this._config['retorno']) { 33 | throw new Error(`Falta a seção 'retorno' no arquivo de layout`); 34 | } 35 | 36 | return this._config['retorno']; 37 | } 38 | 39 | getVersao() { 40 | return (!this._config['retorno']) ? null : this._config['retorno']; 41 | } 42 | 43 | getServico() { 44 | return (!this._config['servico']) ? null : this._config['servico']; 45 | } 46 | 47 | getLayout() { 48 | return (!this._config['layout']) ? null : this._config['layout']; 49 | } 50 | 51 | getPrimeiroCodigoSegmentoRetorno() { 52 | let layout = this.getRetornoLayout(); 53 | let segmentos = Object.keys(layout['detalhes']); 54 | let primeiroSegmento = segmentos[0]; 55 | let partes = primeiroSegmento.split('_'); 56 | 57 | return partes[partes.length - 1].toLowerCase(); 58 | } 59 | 60 | getUltimoCodigoSegmentoRetorno() { 61 | let layout = this.getRetornoLayout(); 62 | let segmentos = Object.keys(layout['detalhes']); 63 | let ultimoSegmento = segmentos[segmentos.length - 1]; 64 | let partes = ultimoSegmento.split('_'); 65 | 66 | return partes[partes.length - 1].toLowerCase(); 67 | } 68 | } -------------------------------------------------------------------------------- /src/Output/RemessaFile.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const path = require('path'); 3 | const IntercambioBancarioRemessaFileAbstract = require('../IntercambioBancarioRemessaFileAbstract') 4 | 5 | module.exports = class RemessaFile extends IntercambioBancarioRemessaFileAbstract { 6 | static get CNAB_EOL() { 7 | return '\r\n'; 8 | } 9 | 10 | generate() { 11 | let headerArquivo = this._encodeHeaderArquivo(); 12 | let lotes = this._encodeLotes(); 13 | let trailerArquivo = this._encodeTrailerArquivo(); 14 | 15 | let data = [headerArquivo, lotes, trailerArquivo].join(RemessaFile.CNAB_EOL); 16 | data += RemessaFile.CNAB_EOL; 17 | 18 | return data; 19 | } 20 | 21 | _encodeHeaderArquivo() { 22 | if (!this._model.header) return; 23 | 24 | let layout = this._model.getLayout(); 25 | let layoutRemessa = layout.getRemessaLayout(); 26 | 27 | return this._encode(layoutRemessa['header_arquivo'], this._model.header._data); 28 | } 29 | 30 | _encodeLotes() { 31 | let encoded = []; 32 | 33 | this._model.lotes.forEach((lote) => { 34 | if (lote.header) { 35 | encoded.push(this._encodeHeaderLote(lote)); 36 | } 37 | 38 | encoded.push(this._encodeDetalhes(lote)); 39 | 40 | if (lote.trailer) { 41 | encoded.push(this._encodeTrailerLote(lote)); 42 | } 43 | }); 44 | 45 | return encoded.join(RemessaFile.CNAB_EOL); 46 | } 47 | 48 | _encodeHeaderLote(model) { 49 | if (!model.header) { 50 | return; 51 | } 52 | 53 | let layout = model.getLayout(); 54 | 55 | return this._encode(layout['header_lote'], model.header._data); 56 | } 57 | 58 | _encodeDetalhes(model) { 59 | if (!model.detalhes) { 60 | return; 61 | } 62 | 63 | let layout = model.getLayout(); 64 | let encoded = []; 65 | 66 | model.detalhes.forEach((detalhe) => { 67 | Object.keys(detalhe).forEach((segmento) => { 68 | let segmentoEncoded = this._encode(layout['detalhes'][segmento], detalhe[segmento]); 69 | encoded.push(segmentoEncoded); 70 | }); 71 | }); 72 | 73 | return encoded.join(RemessaFile.CNAB_EOL); 74 | } 75 | 76 | _encodeTrailerLote(model) { 77 | if (!model.trailer) { 78 | return; 79 | } 80 | 81 | let layout = model.getLayout(); 82 | 83 | return this._encode(layout['trailer_lote'], model.trailer._data); 84 | } 85 | 86 | _encodeTrailerArquivo() { 87 | if (!this._model.trailer) { 88 | return; 89 | } 90 | 91 | let layout = this._model.getLayout(); 92 | let layoutRemessa = layout.getRemessaLayout(); 93 | 94 | return this._encode(layoutRemessa['trailer_arquivo'], this._model.trailer._data); 95 | } 96 | }; -------------------------------------------------------------------------------- /src/Model/Lote.js: -------------------------------------------------------------------------------- 1 | const Picture = require('../Format/Picture'); 2 | const HeaderLote = require('./HeaderLote'); 3 | const TrailerLote = require('./TrailerLote'); 4 | 5 | module.exports = class Lote { 6 | constructor(layout = {}, sequencial = 1) { 7 | this.layout = layout; 8 | this.sequencial = sequencial; 9 | 10 | this.header = null; 11 | this.trailer = null; 12 | this.detalhes = []; 13 | 14 | if (this.layout['header_lote']) { 15 | this.header = new HeaderLote(); 16 | Object.keys(this.layout['header_lote']).forEach((field) => { 17 | this.header.set( 18 | field, 19 | (this.layout['header_lote'][field]['default'] !== undefined) ? 20 | Picture.encode( 21 | this.layout['header_lote'][field]['default'], 22 | this.layout['header_lote'][field]['picture'] 23 | ) : 24 | '' 25 | ); 26 | }) 27 | } 28 | 29 | if (this.layout['trailer_lote']) { 30 | this.trailer = new TrailerLote(); 31 | Object.keys(this.layout['trailer_lote']).forEach((field) => { 32 | this.trailer.set( 33 | field, 34 | (this.layout['trailer_lote'][field]['default'] !== undefined) ? 35 | Picture.encode( 36 | this.layout['trailer_lote'][field]['default'], 37 | this.layout['trailer_lote'][field]['picture'] 38 | ) : 39 | '' 40 | ); 41 | }) 42 | } 43 | } 44 | 45 | getLayout() { 46 | return this.layout; 47 | } 48 | 49 | novoDetalhe(excetoSegmentos = []) { 50 | let detalhe = {}; 51 | 52 | if (this.layout['detalhes']) { 53 | Object.keys(this.layout['detalhes']).forEach((segmento) => { 54 | if (excetoSegmentos.includes(segmento)) { 55 | return; 56 | } 57 | 58 | detalhe[segmento] = {}; 59 | 60 | Object.keys(this.layout['detalhes'][segmento]).forEach((field) => { 61 | detalhe[segmento][field] = (this.layout['detalhes'][segmento][field]['default'] !== undefined) ? 62 | Picture.encode( 63 | this.layout['detalhes'][segmento][field]['default'], 64 | this.layout['detalhes'][segmento][field]['picture'] 65 | ) : 66 | ''; 67 | }) 68 | }); 69 | } 70 | 71 | return detalhe; 72 | } 73 | 74 | inserirDetalhe(detalhe) { 75 | this.detalhes.push(detalhe); 76 | 77 | return this; 78 | } 79 | 80 | countDetalhes() { 81 | return this.detalhes.length; 82 | } 83 | 84 | limpaDetalhes() { 85 | this.detalhes = []; 86 | 87 | return this; 88 | } 89 | 90 | toJSON() { 91 | let headerLote = (this.header) ? this.header.toJSON() : null; 92 | let trailerLote = (this.trailer) ? this.trailer.toJSON() : null; 93 | let detalhes = this.detalhes; 94 | 95 | return { 96 | codigo_lote: this.sequencial, 97 | header_lote: headerLote, 98 | detalhes, 99 | trailer_lote: trailerLote, 100 | }; 101 | } 102 | }; -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, sex characteristics, gender identity and expression, 9 | level of experience, education, socio-economic status, nationality, personal 10 | appearance, race, religion, or sexual identity and orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at ti@vitta.me. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html 72 | 73 | [homepage]: https://www.contributor-covenant.org 74 | 75 | For answers to common questions about this code of conduct, see 76 | https://www.contributor-covenant.org/faq 77 | -------------------------------------------------------------------------------- /src/Format/Picture.js: -------------------------------------------------------------------------------- 1 | const moment = require("moment"); 2 | 3 | module.exports = class Picture { 4 | static get REGEX_VALID_FORMAT() { 5 | return /([X9])\((\d{0,})\)((V9)\((\d{0,})\)?)?/g; 6 | } 7 | 8 | static _validarData(value) { 9 | return `${value}`.match(/^\d{4}-\d{2}-\d{2}$/) !== null; 10 | } 11 | 12 | /** 13 | * Valida o formato de um campo de acordo com sua picture 14 | * @param format {String} Formato do campo 15 | * @return {boolean} 16 | */ 17 | static validarFormato(format) { 18 | return format.match(Picture.REGEX_VALID_FORMAT).length >= 0; 19 | } 20 | 21 | /** 22 | * Retorna o tamanho do campo dado seu formato 23 | * @param format {String} Formato do campo 24 | * @return {number} 25 | */ 26 | static getLength(format) { 27 | let lengthMatches; 28 | 29 | if ((lengthMatches = Picture.REGEX_VALID_FORMAT.exec(format))) { 30 | return +(lengthMatches[2] || 0) + +(lengthMatches[5] || 0); 31 | } else { 32 | throw new Error(`O padrão (${format}) não é um formato válido`); 33 | } 34 | } 35 | 36 | /** 37 | * Formata uma string para retornar somente números 38 | * @param value {String} Valor para formatar 39 | * @return {string} 40 | */ 41 | static parseNumber(value) { 42 | return `${value}`.replace(/[^0-9.]/g, "").replace(/^0+/g, "") || "0"; 43 | } 44 | 45 | /** 46 | * Encoda um valor baseado em um formato de picture de campo 47 | * @param value {*} Valor de entrada para o formato 48 | * @param format {String} Formato do campo do valor de entrada 49 | * @param options {Object} Opções adicionais do campo 50 | * @return {*} 51 | */ 52 | static encode(value, format, options = {}) { 53 | let matches; 54 | 55 | if ((matches = Picture.REGEX_VALID_FORMAT.exec(format))) { 56 | if (matches[1] === "X" && !matches[4]) { 57 | return `${value}` 58 | .normalize("NFD") 59 | .replace(/[\u0300-\u036f]/g, "") 60 | .substr(0, +(matches[2] || 0)) 61 | .padEnd(+(matches[2] || 0), " ") 62 | .toUpperCase(); 63 | } else if (matches[1] === "9") { 64 | let numericValue = value; 65 | if (Picture._validarData(value)) { 66 | if (options.dateFormat) { 67 | numericValue = moment(value).format(options.dateFormat); 68 | } else { 69 | if (+(matches[2] || 0) === 8) { 70 | numericValue = moment(value).format("DDMMYYYY"); 71 | } 72 | if (+(matches[2] || 0) === 6) { 73 | numericValue = moment(value).format("DDMMYY"); 74 | } 75 | } 76 | } 77 | 78 | if (isNaN(+numericValue)) { 79 | throw new Error( 80 | `O valor (${numericValue}) do campo ${options.field} informado deve ser um número no formato ${format}` 81 | ); 82 | } 83 | 84 | numericValue = Picture.parseNumber(numericValue); 85 | let numericExpression = numericValue.split("."); 86 | 87 | if (numericExpression[1] === undefined) { 88 | numericExpression[1] = "0"; 89 | } 90 | 91 | if (matches[4] === "V9") { 92 | let tamanhoLeft = +(matches[2] || 0); 93 | let tamanhoRigth = +(matches[5] || 0); 94 | let valorLeft = numericExpression[0].padStart(tamanhoLeft, "0"); 95 | 96 | if (numericExpression[1].length > tamanhoRigth) { 97 | let extra = numericExpression[1].length - tamanhoRigth; 98 | let extraPow = Math.pow(10, extra); 99 | 100 | numericExpression[1] = `${Math.round( 101 | numericExpression[1] / extraPow 102 | )}`; 103 | } 104 | 105 | let valorRigth = numericExpression[1].padEnd(tamanhoRigth, "0"); 106 | 107 | return `${valorLeft}${valorRigth}`; 108 | } else if (!matches[4]) { 109 | return Picture.parseNumber(numericValue).padStart( 110 | +(matches[2] || 0), 111 | "0" 112 | ); 113 | } else { 114 | throw new Error(`O padrão (${format}) não é um formato válido`); 115 | } 116 | } 117 | } 118 | } 119 | 120 | /** 121 | * Decoda um valor baseado em um formato de picture de campo 122 | * @param value {*} Valor de entrada para o decode 123 | * @param format {String} Formato do campo do valor de entrada 124 | * @param options {Object} Opções adicionais do campo 125 | * @return {*} 126 | */ 127 | static decode(value, format, options = {}) { 128 | let matches; 129 | 130 | if ((matches = Picture.REGEX_VALID_FORMAT.exec(format))) { 131 | if (matches[1] === "X" && !matches[4]) { 132 | return value.replace(/\s{1,}$/g, ""); 133 | } else if (matches[1] === "9") { 134 | if (matches[4] === "V9") { 135 | let tamanhoLeft = +(matches[2] || 0); 136 | let tamanhoRigth = +(matches[5] || 0); 137 | let valorLeft = Picture.parseNumber(value.substr(0, tamanhoLeft)); 138 | let valorRigth = Picture.parseNumber( 139 | `0.${value.substr(tamanhoLeft, tamanhoRigth)}` 140 | ); 141 | 142 | if (+valorRigth > 0) { 143 | return +valorLeft + valorRigth; 144 | } else { 145 | return +Picture.parseNumber(valorLeft); 146 | } 147 | } else if (!matches[4]) { 148 | return +Picture.parseNumber(value); 149 | } else { 150 | throw new Error(`O padrão (${format}) não é um formato válido`); 151 | } 152 | } 153 | } else { 154 | throw new Error(`O padrão (${format}) não é um formato válido`); 155 | } 156 | } 157 | }; 158 | -------------------------------------------------------------------------------- /src/Input/RetornoFile.js: -------------------------------------------------------------------------------- 1 | const IntercambioBancarioRetornoFileAbstract = require("../IntercambioBancarioRetornoFileAbstract"); 2 | const Linha = require("../Model/Linha"); 3 | 4 | module.exports = class RetornoFile extends IntercambioBancarioRetornoFileAbstract { 5 | generate(path = null) { 6 | this._decodeHeaderArquivo(); 7 | this._decodeTrailerArquivo(); 8 | this._decodeLotes(); 9 | 10 | return this._model; 11 | } 12 | 13 | _decodeHeaderArquivo() { 14 | const layout = this._layout.getRetornoLayout(); 15 | const headerArquivoDef = layout["header_arquivo"]; 16 | let linha = new Linha(this._linhas[0], this._layout, this._tipo); 17 | 18 | Object.keys(headerArquivoDef).forEach(campo => { 19 | this._model.headerArquivo[campo] = linha.obterValorCampo( 20 | headerArquivoDef[campo] 21 | ); 22 | }); 23 | } 24 | 25 | _decodeTrailerArquivo() { 26 | const layout = this._layout.getRetornoLayout(); 27 | const trailerArquivoDef = layout["trailer_arquivo"]; 28 | let linha = new Linha( 29 | this._linhas[this._linhas.length - 1], 30 | this._layout, 31 | this._tipo 32 | ); 33 | 34 | Object.keys(trailerArquivoDef).forEach(campo => { 35 | this._model.trailerArquivo[campo] = linha.obterValorCampo( 36 | trailerArquivoDef[campo] 37 | ); 38 | }); 39 | } 40 | 41 | _decodeLotes() { 42 | const tipoLayout = this._layout.getLayout(); 43 | 44 | if (tipoLayout === "240") { 45 | this._decodeLotesCNAB240(); 46 | } else if (tipoLayout === "400") { 47 | this._decodeLotesCNAB400(); 48 | } 49 | } 50 | 51 | _decodeLotesCNAB240() { 52 | const defTipoRegistro = { pos: [8, 8], picture: "9(1)" }; 53 | const defCodigoLote = { pos: [4, 7], picture: "9(4)" }; 54 | const defCodigoSegmento = { pos: [14, 14], picture: "X(1)" }; 55 | let codigoLote = null; 56 | let lote = null; 57 | let segmentos = {}; 58 | let primeiroCodigoSegmentoLayout = this._layout.getPrimeiroCodigoSegmentoRetorno(); 59 | let ultimoCodigoSegmentoLayout = this._layout.getUltimoCodigoSegmentoRetorno(); 60 | 61 | this._linhas.forEach((linhaStr, index) => { 62 | let linha = new Linha(linhaStr, this._layout, this._tipo); 63 | let tipoRegistro = +linha.obterValorCampo(defTipoRegistro); 64 | 65 | if ( 66 | tipoRegistro === 67 | IntercambioBancarioRetornoFileAbstract.REGISTRO_HEADER_ARQUIVO || 68 | tipoRegistro === 69 | IntercambioBancarioRetornoFileAbstract.REGISTRO_TRAILER_ARQUIVO 70 | ) { 71 | return; 72 | } 73 | 74 | switch (tipoRegistro) { 75 | case IntercambioBancarioRetornoFileAbstract.REGISTRO_HEADER_LOTE: 76 | codigoLote = linha.obterValorCampo(defCodigoLote); 77 | lote = { 78 | codigoLote: codigoLote, 79 | headerLote: this._model.decodeHeaderLote(linha), 80 | trailerLote: this._model.decodeTrailerLote(linha), 81 | detalhes: [] 82 | }; 83 | 84 | break; 85 | 86 | case IntercambioBancarioRetornoFileAbstract.REGISTRO_DETALHES: 87 | let codigoSegmento = linha.obterValorCampo(defCodigoSegmento); 88 | 89 | let dadosSegmento = linha.getDadosSegmento( 90 | `segmento_${codigoSegmento.toLowerCase()}` 91 | ); 92 | 93 | segmentos[codigoSegmento] = dadosSegmento; 94 | 95 | let proximaLinha = new Linha( 96 | this._linhas[index + 1], 97 | this._layout, 98 | this._tipo 99 | ); 100 | let proximoCodigoSegmento = proximaLinha.obterValorCampo( 101 | defCodigoSegmento 102 | ); 103 | let proximoTipoRegistro = proximaLinha.obterValorCampo( 104 | defTipoRegistro 105 | ); 106 | 107 | if ( 108 | codigoSegmento.toLowerCase() === 109 | ultimoCodigoSegmentoLayout.toLowerCase() || 110 | proximoCodigoSegmento.toLowerCase() === 111 | primeiroCodigoSegmentoLayout.toLowerCase() || 112 | proximoTipoRegistro !== 113 | IntercambioBancarioRetornoFileAbstract.REGISTRO_DETALHES 114 | ) { 115 | lote["detalhes"].push(segmentos); 116 | segmentos = {}; 117 | } 118 | 119 | break; 120 | 121 | case IntercambioBancarioRetornoFileAbstract.REGISTRO_TRAILER_LOTE: 122 | this._model.lotes.push(lote); 123 | segmentos = {}; 124 | 125 | break; 126 | } 127 | }); 128 | } 129 | 130 | _decodeLotesCNAB400() { 131 | const defTipoRegistro = { pos: [1, 1], picture: "9(1)" }; 132 | const defCodigoSegmento = { pos: [1, 1], picture: "9(1)" }; 133 | const lote = { titulos: [] }; 134 | 135 | let primeiroCodigoSegmentoLayout = this._layout 136 | .getPrimeiroCodigoSegmentoRetorno() 137 | .toString(); 138 | let ultimoCodigoSegmentoLayout = this._layout 139 | .getUltimoCodigoSegmentoRetorno() 140 | .toString(); 141 | 142 | this._linhas.forEach((linhaStr, index) => { 143 | const linha = new Linha(linhaStr, this._layout, this._tipo); 144 | const tipoRegistro = +linha.obterValorCampo(defTipoRegistro); 145 | 146 | if ( 147 | tipoRegistro === 148 | IntercambioBancarioRetornoFileAbstract.REGISTRO_TRAILER_ARQUIVO 149 | ) { 150 | return; 151 | } 152 | 153 | if ( 154 | tipoRegistro !== 155 | IntercambioBancarioRetornoFileAbstract.REGISTRO_HEADER_ARQUIVO 156 | ) { 157 | const codigoSegmento = linha 158 | .obterValorCampo(defCodigoSegmento) 159 | .toString(); 160 | const segmento = {}; 161 | 162 | segmento[codigoSegmento] = linha.getDadosSegmento( 163 | `segmento_${codigoSegmento.toLowerCase()}` 164 | ); 165 | 166 | lote["titulos"].push(segmento); 167 | 168 | const proximaLinha = new Linha( 169 | this._linhas[index + 1], 170 | this._layout, 171 | this._tipo 172 | ); 173 | const proximoCodigoSegmento = proximaLinha 174 | .obterValorCampo(defCodigoSegmento) 175 | .toString(); 176 | 177 | if ( 178 | proximoCodigoSegmento.toLowerCase() === 179 | primeiroCodigoSegmentoLayout.toLowerCase() || 180 | codigoSegmento.toLowerCase() === 181 | ultimoCodigoSegmentoLayout.toLowerCase() 182 | ) { 183 | } 184 | } 185 | }); 186 | 187 | this._model.lotes.push(lote); 188 | } 189 | }; 190 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Nodenab # 2 | 3 | Essa biblioteca tem como objetivo a geração de arquivos CNAB bancários baseado em um layout 4 | 5 | ## Contribuidores ## 6 | 7 | Esse projeto foi baseado na biblioteca (cnab-layouts-parser)[https://github.com/glauberportella/cnab-layouts-parser], 8 | escrita por Glauber Portella para PHP. 9 | 10 | - Harisson Matos 11 | 12 | ## Como utilizar essa biblioteca? ## 13 | 14 | ## Remessa ## 15 | Para gerar uma remessa, faça da seguinte maneira: 16 | 17 | * Primeiro importe as dependências em seu projeto. 18 | 19 | ``` 20 | #!javascript 21 | 22 | import { 23 | Layout, 24 | Remessa, 25 | RemessaFile 26 | } from 'nodenab'; 27 | ``` 28 | 29 | * Depois crie uma remessa com os detalhes da seguinte maneira: 30 | 31 | ``` 32 | #!javascript 33 | 34 | const layoutArquivo = require(path.resolve(`./layouts/341/240/cobranca.json`)); 35 | const remessaLayout = new Layout(341, '240', layoutArquivo, {loadFromFile: false}); 36 | 37 | let remessa = new Remessa(remessaLayout); 38 | 39 | remessa.header.set('codigo_banco', 237); 40 | remessa.header.set('tipo_inscricao', 2); 41 | remessa.header.set('inscricao_numero', '12562475000132'); 42 | remessa.header.set('agencia', 5633); 43 | remessa.header.set('conta', 45889785); 44 | remessa.header.set('dac', 9); 45 | remessa.header.set('nome_empresa', 'FOO BAR LTDA'); 46 | remessa.header.set('data_geracao', moment().format('YYYY-MM-DD')); 47 | remessa.header.set('hora_geracao', moment().format('HHmmss')); 48 | remessa.header.set('numero_sequencial_arquivo_retorno', 1); 49 | 50 | 51 | // criar um novo lote de serviço para a remessa 52 | // informando o código sequencial do lote 53 | let lote = remessa.novoLote(1); 54 | 55 | lote.header.set('codigo_banco', 237); 56 | lote.header.set('lote_servico', lote.sequencial); 57 | lote.header.set('tipo_registro', 1); 58 | lote.header.set('tipo_operacao', 'R'); 59 | lote.header.set('tipo_servico', '01'); 60 | lote.header.set('zeros_01', 0); 61 | lote.header.set('versao_layout_lote', '030'); 62 | lote.header.set('brancos_01', ''); 63 | lote.header.set('tipo_inscricao', 2); 64 | lote.header.set('inscricao_empresa', '12562475000132'); 65 | lote.header.set('brancos_02', ''); 66 | lote.header.set('zeros_02', 0); 67 | lote.header.set('agencia', 5633); 68 | lote.header.set('brancos_03', ''); 69 | lote.header.set('zeros_03', 0); 70 | lote.header.set('conta', '45889785'); 71 | lote.header.set('brancos_04', ''); 72 | lote.header.set('dac', 9); 73 | lote.header.set('nome_empresa', 'FOO BAR LTDA'); 74 | lote.header.set('brancos_05', ''); 75 | lote.header.set('numero_sequencial_arquivo_retorno', 1); 76 | lote.header.set('data_gravacao', moment().format('YYYY-MM-DD')); 77 | lote.header.set('data_credito', moment().format('YYYY-MM-DD')); 78 | lote.header.set('brancos_06', ''); 79 | 80 | let detalhe = lote.novoDetalhe(); 81 | detalhe.segmento_p.lote_servico = lote.sequencial; 82 | detalhe.segmento_p.numero_sequencial_registro_lote = 1; 83 | detalhe.segmento_p.codigo_ocorrencia = '01'; 84 | detalhe.segmento_p.agencia = 5633; 85 | detalhe.segmento_p.conta = 45889785; 86 | detalhe.segmento_p.dac = 9; 87 | detalhe.segmento_p.carteira = 109; 88 | detalhe.segmento_p.nosso_numero = 12345678; 89 | detalhe.segmento_p.dac_nosso_numero = 3; 90 | detalhe.segmento_p.numero_documento = 1; 91 | detalhe.segmento_p.vencimento = '2016-05-10'; 92 | detalhe.segmento_p.valor_titulo = 1000; 93 | detalhe.segmento_p.agencia_cobradora = 0; 94 | detalhe.segmento_p.dac_agencia_cobradora = 0; 95 | detalhe.segmento_p.especie = '05'; 96 | detalhe.segmento_p.aceite = 'N'; 97 | detalhe.segmento_p.data_emissao = moment().format('YYYY-MM-DD'); 98 | detalhe.segmento_p.data_juros_mora = '2016-05-11'; 99 | detalhe.segmento_p.juros_1_dia = 0; 100 | detalhe.segmento_p.data_1o_desconto = '00000000'; 101 | detalhe.segmento_p.valor_1o_desconto = 0; 102 | detalhe.segmento_p.valor_iof = 38; 103 | detalhe.segmento_p.valor_abatimento = 0; 104 | detalhe.segmento_p.identificacao_titulo_empresa = ''; 105 | detalhe.segmento_p.codigo_negativacao_protesto = 0; 106 | detalhe.segmento_p.prazo_negativacao_protesto = 0; 107 | detalhe.segmento_p.codigo_baixa = 0; 108 | detalhe.segmento_p.prazo_baixa = 0; 109 | 110 | //segmento q 111 | detalhe.segmento_q.lote_servico = lote.sequencial; 112 | detalhe.segmento_q.numero_sequencial_registro_lote = 2; 113 | detalhe.segmento_q.codigo_ocorrencia = '01'; 114 | detalhe.segmento_q.tipo_inscricao = 2; 115 | detalhe.segmento_q.inscricao_numero = '12562475000132'; 116 | detalhe.segmento_q.nome_pagador = 'ACME CO. INT'; 117 | detalhe.segmento_q.logradouro = 'RUA NETFLIX'; 118 | detalhe.segmento_q.bairro = 'STRANGER THINGS'; 119 | detalhe.segmento_q.cep = 31814; 120 | detalhe.segmento_q.sufixo_cep = 500; 121 | detalhe.segmento_q.cidade = 'WILL'; 122 | detalhe.segmento_q.uf = 'JJ'; 123 | detalhe.segmento_q.tipo_inscricao_sacador = 2; 124 | detalhe.segmento_q.inscricao_sacador = '12562475000132'; 125 | detalhe.segmento_q.nome_sacador = 'FOO BAR LTDA'; 126 | 127 | delete detalhe.segmento_r; 128 | delete detalhe.segmento_y; 129 | 130 | lote.inserirDetalhe(detalhe); 131 | 132 | lote.trailer.set('lote_servico', lote.sequencial); 133 | lote.trailer.set('quantidade_registros_lote', 2); 134 | lote.trailer.set('quantidade_cobranca_simples', 1); 135 | lote.trailer.set('valor_total_cobranca_simples', 10000); 136 | lote.trailer.set('quantidade_cobranca_vinculada', 0); 137 | lote.trailer.set('valor_total_cobranca_vinculada', 0); 138 | lote.trailer.set('aviso_bancario', '00000000'); 139 | 140 | remessa.inserirLote(lote); 141 | 142 | 143 | remessa.trailer.set('total_lotes', 1); 144 | remessa.trailer.set('total_registros', 6); 145 | 146 | const remessaFile = new RemessaFile(remessa); 147 | ``` 148 | 149 | * Apos isso, chame o método generate() para gerar o arquivo, o mesmo retornará o texto do arquivo. Salve essa string em um arquivo de acordo com as especificações do banco 150 | 151 | ``` 152 | #!javascript 153 | 154 | remessaFile.generate() 155 | ``` 156 | ## Retorno ## 157 | Para ler um arquivo de retorno, faça da seguinte maneira: 158 | 159 | * Primeiro importe as dependências em seu projeto. 160 | 161 | ``` 162 | #!javascript 163 | 164 | import { 165 | Layout, 166 | RetornoFile, 167 | } from 'nodenab'; 168 | ``` 169 | 170 | 171 | * Em seguida, carrege o layout do arquivo de retorno e o arquivo em si. 172 | 173 | ``` 174 | #!javascript 175 | 176 | const retornoLayout = new Layout(341, '400', 'cobranca', {layoutPath: './test/layoutsTest'}); 177 | const retornoLines = fs.readFileSync('./test/in/cobranca-itau-cnab400.ret', 'UTF8'); 178 | ``` 179 | 180 | * Após isso, inicie a classe de Retorno e chame o método generate. O mesmo retornará um objeto com os dados do retorno 181 | 182 | ``` 183 | #!javascript 184 | 185 | const retornoFile = new RetornoFile(retornoLayout, retornoLines); 186 | 187 | let retorno = retornoFile.generate().toJSON(); 188 | ``` 189 | 190 | * Use os dados de arquivo como quiser 191 | -------------------------------------------------------------------------------- /layouts/237/240/multipag_titulos_cobranca.json: -------------------------------------------------------------------------------- 1 | { 2 | "servico": "multipag_titulos_cobranca", 3 | "versao": "02", 4 | "layout": "240", 5 | "remessa": { 6 | "header_arquivo": { 7 | "codigo_banco": { 8 | "pos": [ 9 | 1, 10 | 3 11 | ], 12 | "picture": "9(3)", 13 | "default": 237 14 | }, 15 | "lote_servico": { 16 | "pos": [ 17 | 4, 18 | 7 19 | ], 20 | "picture": "9(4)", 21 | "default": 0 22 | }, 23 | "tipo_registro": { 24 | "pos": [ 25 | 8, 26 | 8 27 | ], 28 | "picture": "9(1)", 29 | "default": 0 30 | }, 31 | "exclusivo_febraban_01": { 32 | "pos": [ 33 | 9, 34 | 17 35 | ], 36 | "picture": "X(9)", 37 | "default": "" 38 | }, 39 | "tipo_inscricao": { 40 | "pos": [ 41 | 18, 42 | 18 43 | ], 44 | "picture": "9(1)" 45 | }, 46 | "numero_inscricao": { 47 | "pos": [ 48 | 19, 49 | 32 50 | ], 51 | "picture": "9(14)" 52 | }, 53 | "codigo_convenio": { 54 | "pos": [ 55 | 33, 56 | 52 57 | ], 58 | "picture": "X(20)" 59 | }, 60 | "agencia": { 61 | "pos": [ 62 | 53, 63 | 57 64 | ], 65 | "picture": "9(5)" 66 | }, 67 | "verificador_agencia": { 68 | "pos": [ 69 | 58, 70 | 58 71 | ], 72 | "picture": "X(1)" 73 | }, 74 | "conta": { 75 | "pos": [ 76 | 59, 77 | 70 78 | ], 79 | "picture": "9(12)" 80 | }, 81 | "verificador_conta": { 82 | "pos": [ 83 | 71, 84 | 71 85 | ], 86 | "picture": "X(1)" 87 | }, 88 | "verificador_agencia_conta": { 89 | "pos": [ 90 | 72, 91 | 72 92 | ], 93 | "picture": "X(1)", 94 | "default": "" 95 | }, 96 | "nome_empresa": { 97 | "pos": [ 98 | 73, 99 | 102 100 | ], 101 | "picture": "X(30)" 102 | }, 103 | "nome_banco": { 104 | "pos": [ 105 | 103, 106 | 132 107 | ], 108 | "picture": "X(30)", 109 | "default": "BANCO BRADESCO S.A." 110 | }, 111 | "exclusivo_febraban_02": { 112 | "pos": [ 113 | 133, 114 | 142 115 | ], 116 | "picture": "X(10)", 117 | "default": "" 118 | }, 119 | "codigo_remessa_retorno": { 120 | "pos": [ 121 | 143, 122 | 143 123 | ], 124 | "picture": "9(1)" 125 | }, 126 | "data_geracao": { 127 | "pos": [ 128 | 144, 129 | 151 130 | ], 131 | "picture": "9(8)" 132 | }, 133 | "hora_geracao": { 134 | "pos": [ 135 | 152, 136 | 157 137 | ], 138 | "picture": "9(6)" 139 | }, 140 | "numero_sequencial": { 141 | "pos": [ 142 | 158, 143 | 163 144 | ], 145 | "picture": "9(6)" 146 | }, 147 | "versao_layout": { 148 | "pos": [ 149 | 164, 150 | 166 151 | ], 152 | "picture": "9(3)", 153 | "default": 89 154 | }, 155 | "densidade_gravacao": { 156 | "pos": [ 157 | 167, 158 | 171 159 | ], 160 | "picture": "9(5)", 161 | "default": 0 162 | }, 163 | "reservado_banco_01": { 164 | "pos": [ 165 | 172, 166 | 191 167 | ], 168 | "picture": "X(20)", 169 | "default": "" 170 | }, 171 | "reservado_empresa_01": { 172 | "pos": [ 173 | 192, 174 | 211 175 | ], 176 | "picture": "X(20)", 177 | "default": "" 178 | }, 179 | "exclusivo_febraban_03": { 180 | "pos": [ 181 | 212, 182 | 240 183 | ], 184 | "picture": "X(29)", 185 | "default": "" 186 | } 187 | }, 188 | "trailer_arquivo": { 189 | "codigo_banco": { 190 | "pos": [ 191 | 1, 192 | 3 193 | ], 194 | "picture": "9(3)", 195 | "default": 237 196 | }, 197 | "lote_servico": { 198 | "pos": [ 199 | 4, 200 | 7 201 | ], 202 | "picture": "9(4)", 203 | "default": "9999" 204 | }, 205 | "tipo_registro": { 206 | "pos": [ 207 | 8, 208 | 8 209 | ], 210 | "picture": "9(1)", 211 | "default": 9 212 | }, 213 | "exclusivo_febraban_01": { 214 | "pos": [ 215 | 9, 216 | 17 217 | ], 218 | "picture": "X(9)", 219 | "default": "" 220 | }, 221 | "quantidade_lotes": { 222 | "pos": [ 223 | 18, 224 | 23 225 | ], 226 | "picture": "9(6)" 227 | }, 228 | "quantidade_registros": { 229 | "pos": [ 230 | 24, 231 | 29 232 | ], 233 | "picture": "9(6)" 234 | }, 235 | "quantidade_contas": { 236 | "pos": [ 237 | 30, 238 | 35 239 | ], 240 | "picture": "9(6)" 241 | }, 242 | "exclusivo_febraban_02": { 243 | "pos": [ 244 | 36, 245 | 240 246 | ], 247 | "picture": "X(205)", 248 | "default": "" 249 | } 250 | }, 251 | "header_lote": { 252 | "codigo_banco": { 253 | "pos": [ 254 | 1, 255 | 3 256 | ], 257 | "picture": "9(3)", 258 | "default": 237 259 | }, 260 | "lote_servico": { 261 | "pos": [ 262 | 4, 263 | 7 264 | ], 265 | "picture": "9(4)" 266 | }, 267 | "tipo_registro": { 268 | "pos": [ 269 | 8, 270 | 8 271 | ], 272 | "picture": "9(1)", 273 | "default": 1 274 | }, 275 | "tipo_operacao": { 276 | "pos": [ 277 | 9, 278 | 9 279 | ], 280 | "picture": "X(1)", 281 | "default": "C" 282 | }, 283 | "tipo_servico": { 284 | "pos": [ 285 | 10, 286 | 11 287 | ], 288 | "picture": "9(2)" 289 | }, 290 | "forma_lancamento": { 291 | "pos": [ 292 | 12, 293 | 13 294 | ], 295 | "picture": "9(2)" 296 | }, 297 | "versao_layout": { 298 | "pos": [ 299 | 14, 300 | 16 301 | ], 302 | "picture": "9(3)", 303 | "default": 40 304 | }, 305 | "exclusivo_febraban_01": { 306 | "pos": [ 307 | 17, 308 | 17 309 | ], 310 | "picture": "X(1)", 311 | "default": "" 312 | }, 313 | "tipo_inscricao": { 314 | "pos": [ 315 | 18, 316 | 18 317 | ], 318 | "picture": "9(1)" 319 | }, 320 | "numero_inscricao": { 321 | "pos": [ 322 | 19, 323 | 32 324 | ], 325 | "picture": "9(14)" 326 | }, 327 | "codigo_convenio": { 328 | "pos": [ 329 | 33, 330 | 52 331 | ], 332 | "picture": "X(20)" 333 | }, 334 | "agencia": { 335 | "pos": [ 336 | 53, 337 | 57 338 | ], 339 | "picture": "9(5)" 340 | }, 341 | "verificador_agencia": { 342 | "pos": [ 343 | 58, 344 | 58 345 | ], 346 | "picture": "X(1)" 347 | }, 348 | "conta": { 349 | "pos": [ 350 | 59, 351 | 70 352 | ], 353 | "picture": "9(12)" 354 | }, 355 | "verificador_conta": { 356 | "pos": [ 357 | 71, 358 | 71 359 | ], 360 | "picture": "X(1)" 361 | }, 362 | "verificador_agencia_conta": { 363 | "pos": [ 364 | 72, 365 | 72 366 | ], 367 | "picture": "X(1)" 368 | }, 369 | "nome_empresa": { 370 | "pos": [ 371 | 73, 372 | 102 373 | ], 374 | "picture": "X(30)" 375 | }, 376 | "mensagem_01": { 377 | "pos": [ 378 | 103, 379 | 142 380 | ], 381 | "picture": "X(40)", 382 | "default": "" 383 | }, 384 | "logradouro": { 385 | "pos": [ 386 | 143, 387 | 172 388 | ], 389 | "picture": "X(30)" 390 | }, 391 | "numero": { 392 | "pos": [ 393 | 173, 394 | 177 395 | ], 396 | "picture": "9(5)" 397 | }, 398 | "complemento": { 399 | "pos": [ 400 | 178, 401 | 192 402 | ], 403 | "picture": "X(15)" 404 | }, 405 | "cidade": { 406 | "pos": [ 407 | 193, 408 | 212 409 | ], 410 | "picture": "X(20)" 411 | }, 412 | "cep": { 413 | "pos": [ 414 | 213, 415 | 217 416 | ], 417 | "picture": "9(5)" 418 | }, 419 | "sufixo_cep": { 420 | "pos": [ 421 | 218, 422 | 220 423 | ], 424 | "picture": "X(3)" 425 | }, 426 | "sigla_uf": { 427 | "pos": [ 428 | 221, 429 | 222 430 | ], 431 | "picture": "X(2)" 432 | }, 433 | "exclusivo_febraban_02": { 434 | "pos": [ 435 | 223, 436 | 230 437 | ], 438 | "picture": "X(8)", 439 | "default": "" 440 | }, 441 | "ocorrencias": { 442 | "pos": [ 443 | 231, 444 | 240 445 | ], 446 | "picture": "X(10)" 447 | } 448 | }, 449 | "trailer_lote": { 450 | "codigo_banco": { 451 | "pos": [ 452 | 1, 453 | 3 454 | ], 455 | "picture": "9(3)", 456 | "default": 237 457 | }, 458 | "lote_servico": { 459 | "pos": [ 460 | 4, 461 | 7 462 | ], 463 | "picture": "9(4)" 464 | }, 465 | "tipo_registro": { 466 | "pos": [ 467 | 8, 468 | 8 469 | ], 470 | "picture": "9(1)", 471 | "default": 5 472 | }, 473 | "exclusivo_febraban_01": { 474 | "pos": [ 475 | 9, 476 | 17 477 | ], 478 | "picture": "X(9)", 479 | "default": "" 480 | }, 481 | "quantidade_registros": { 482 | "pos": [ 483 | 18, 484 | 23 485 | ], 486 | "picture": "9(6)" 487 | }, 488 | "somatoria_valores": { 489 | "pos": [ 490 | 24, 491 | 41 492 | ], 493 | "picture": "9(16)V9(2)" 494 | }, 495 | "somatoria_quantidade_moedas": { 496 | "pos": [ 497 | 42, 498 | 59 499 | ], 500 | "picture": "9(13)V9(5)" 501 | }, 502 | "numero_aviso": { 503 | "pos": [ 504 | 60, 505 | 65 506 | ], 507 | "picture": "9(6)" 508 | }, 509 | "exclusivo_febraban_02": { 510 | "pos": [ 511 | 66, 512 | 230 513 | ], 514 | "picture": "X(165)", 515 | "default": "" 516 | }, 517 | "ocorrencias": { 518 | "pos": [ 519 | 231, 520 | 240 521 | ], 522 | "picture": "X(10)" 523 | } 524 | }, 525 | "detalhes": { 526 | "segmento_j": { 527 | "codigo_banco": { 528 | "pos": [ 529 | 1, 530 | 3 531 | ], 532 | "picture": "9(3)", 533 | "default": 237 534 | }, 535 | "lote_servico": { 536 | "pos": [ 537 | 4, 538 | 7 539 | ], 540 | "picture": "9(4)" 541 | }, 542 | "tipo_registro": { 543 | "pos": [ 544 | 8, 545 | 8 546 | ], 547 | "picture": "9(1)", 548 | "default": 3 549 | }, 550 | "numero_registro": { 551 | "pos": [ 552 | 9, 553 | 13 554 | ], 555 | "picture": "9(5)" 556 | }, 557 | "codigo_segmento": { 558 | "pos": [ 559 | 14, 560 | 14 561 | ], 562 | "picture": "X(1)", 563 | "default": "J" 564 | }, 565 | "tipo_movimento": { 566 | "pos": [ 567 | 15, 568 | 15 569 | ], 570 | "picture": "9(1)", 571 | "default": "" 572 | }, 573 | "codigo_movimento": { 574 | "pos": [ 575 | 16, 576 | 17 577 | ], 578 | "picture": "9(2)" 579 | }, 580 | "codigo_barras": { 581 | "pos": [ 582 | 18, 583 | 61 584 | ], 585 | "picture": "9(44)" 586 | }, 587 | "nome_cedente": { 588 | "pos": [ 589 | 62, 590 | 91 591 | ], 592 | "picture": "X(30)" 593 | }, 594 | "data_vencimento_nominal": { 595 | "pos": [ 596 | 92, 597 | 99 598 | ], 599 | "picture": "9(8)" 600 | }, 601 | "valor_titulo_nominal": { 602 | "pos": [ 603 | 100, 604 | 114 605 | ], 606 | "picture": "9(13)V9(2)" 607 | }, 608 | "valor_desconto_abatimento": { 609 | "pos": [ 610 | 115, 611 | 129 612 | ], 613 | "picture": "9(13)V9(2)" 614 | }, 615 | "valor_mora_multa": { 616 | "pos": [ 617 | 130, 618 | 144 619 | ], 620 | "picture": "9(13)V9(2)" 621 | }, 622 | "data_pagamento": { 623 | "pos": [ 624 | 145, 625 | 152 626 | ], 627 | "picture": "9(8)" 628 | }, 629 | "valor_pagamento": { 630 | "pos": [ 631 | 153, 632 | 167 633 | ], 634 | "picture": "9(13)V9(2)" 635 | }, 636 | "quantidade_moeda": { 637 | "pos": [ 638 | 168, 639 | 182 640 | ], 641 | "picture": "9(10)V9(5)" 642 | }, 643 | "referencia_sacado": { 644 | "pos": [ 645 | 183, 646 | 202 647 | ], 648 | "picture": "X(20)" 649 | }, 650 | "nosso_numero": { 651 | "pos": [ 652 | 203, 653 | 222 654 | ], 655 | "picture": "X(20)" 656 | }, 657 | "codigo_moeda": { 658 | "pos": [ 659 | 223, 660 | 225 661 | ], 662 | "picture": "9(2)" 663 | }, 664 | "exclusivo_febraban_01": { 665 | "pos": [ 666 | 225, 667 | 230 668 | ], 669 | "picture": "X(6)", 670 | "default": "" 671 | }, 672 | "ocorrencias": { 673 | "pos": [ 674 | 231, 675 | 240 676 | ], 677 | "picture": "X(10)" 678 | } 679 | } 680 | } 681 | }, 682 | "retorno": { 683 | "header_arquivo": { 684 | "codigo_banco": { 685 | "pos": [ 686 | 1, 687 | 3 688 | ], 689 | "picture": "9(3)", 690 | "default": 237 691 | }, 692 | "lote_servico": { 693 | "pos": [ 694 | 4, 695 | 7 696 | ], 697 | "picture": "9(4)", 698 | "default": 0 699 | }, 700 | "tipo_registro": { 701 | "pos": [ 702 | 8, 703 | 8 704 | ], 705 | "picture": "9(1)", 706 | "default": 0 707 | }, 708 | "exclusivo_febraban_01": { 709 | "pos": [ 710 | 9, 711 | 17 712 | ], 713 | "picture": "X(9)", 714 | "default": "" 715 | }, 716 | "tipo_inscricao": { 717 | "pos": [ 718 | 18, 719 | 18 720 | ], 721 | "picture": "9(1)" 722 | }, 723 | "numero_inscricao": { 724 | "pos": [ 725 | 19, 726 | 32 727 | ], 728 | "picture": "9(14)" 729 | }, 730 | "codigo_convenio": { 731 | "pos": [ 732 | 33, 733 | 52 734 | ], 735 | "picture": "X(20)" 736 | }, 737 | "agencia": { 738 | "pos": [ 739 | 53, 740 | 57 741 | ], 742 | "picture": "9(5)" 743 | }, 744 | "verificador_agencia": { 745 | "pos": [ 746 | 58, 747 | 58 748 | ], 749 | "picture": "X(1)" 750 | }, 751 | "conta": { 752 | "pos": [ 753 | 59, 754 | 70 755 | ], 756 | "picture": "9(12)" 757 | }, 758 | "verificador_conta": { 759 | "pos": [ 760 | 71, 761 | 71 762 | ], 763 | "picture": "X(1)" 764 | }, 765 | "verificador_agencia_conta": { 766 | "pos": [ 767 | 72, 768 | 72 769 | ], 770 | "picture": "X(1)", 771 | "default": "" 772 | }, 773 | "nome_empresa": { 774 | "pos": [ 775 | 73, 776 | 102 777 | ], 778 | "picture": "X(30)" 779 | }, 780 | "nome_banco": { 781 | "pos": [ 782 | 103, 783 | 132 784 | ], 785 | "picture": "X(30)", 786 | "default": "BANCO BRADESCO S.A." 787 | }, 788 | "exclusivo_febraban_02": { 789 | "pos": [ 790 | 133, 791 | 142 792 | ], 793 | "picture": "X(10)", 794 | "default": "" 795 | }, 796 | "codigo_remessa_retorno": { 797 | "pos": [ 798 | 143, 799 | 143 800 | ], 801 | "picture": "9(1)" 802 | }, 803 | "data_geracao": { 804 | "pos": [ 805 | 144, 806 | 151 807 | ], 808 | "picture": "9(8)" 809 | }, 810 | "hora_geracao": { 811 | "pos": [ 812 | 152, 813 | 157 814 | ], 815 | "picture": "9(6)" 816 | }, 817 | "numero_sequencial": { 818 | "pos": [ 819 | 158, 820 | 163 821 | ], 822 | "picture": "9(6)" 823 | }, 824 | "versao_layout": { 825 | "pos": [ 826 | 164, 827 | 166 828 | ], 829 | "picture": "9(3)", 830 | "default": 89 831 | }, 832 | "densidade_gravacao": { 833 | "pos": [ 834 | 167, 835 | 171 836 | ], 837 | "picture": "9(5)", 838 | "default": 0 839 | }, 840 | "reservado_banco_01": { 841 | "pos": [ 842 | 172, 843 | 191 844 | ], 845 | "picture": "X(20)", 846 | "default": "" 847 | }, 848 | "reservado_empresa_01": { 849 | "pos": [ 850 | 192, 851 | 211 852 | ], 853 | "picture": "X(20)", 854 | "default": "" 855 | }, 856 | "exclusivo_febraban_03": { 857 | "pos": [ 858 | 212, 859 | 240 860 | ], 861 | "picture": "X(29)", 862 | "default": "" 863 | } 864 | }, 865 | "trailer_arquivo": { 866 | "codigo_banco": { 867 | "pos": [ 868 | 1, 869 | 3 870 | ], 871 | "picture": "9(3)", 872 | "default": 237 873 | }, 874 | "lote_servico": { 875 | "pos": [ 876 | 4, 877 | 7 878 | ], 879 | "picture": "9(4)", 880 | "default": "9999" 881 | }, 882 | "tipo_registro": { 883 | "pos": [ 884 | 8, 885 | 8 886 | ], 887 | "picture": "9(1)", 888 | "default": 9 889 | }, 890 | "exclusivo_febraban_01": { 891 | "pos": [ 892 | 9, 893 | 17 894 | ], 895 | "picture": "X(9)", 896 | "default": "" 897 | }, 898 | "quantidade_lotes": { 899 | "pos": [ 900 | 18, 901 | 23 902 | ], 903 | "picture": "9(6)" 904 | }, 905 | "quantidade_registros": { 906 | "pos": [ 907 | 24, 908 | 29 909 | ], 910 | "picture": "9(6)" 911 | }, 912 | "quantidade_contas": { 913 | "pos": [ 914 | 30, 915 | 35 916 | ], 917 | "picture": "9(6)" 918 | }, 919 | "exclusivo_febraban_02": { 920 | "pos": [ 921 | 36, 922 | 240 923 | ], 924 | "picture": "X(205)", 925 | "default": "" 926 | } 927 | }, 928 | "header_lote": { 929 | "codigo_banco": { 930 | "pos": [ 931 | 1, 932 | 3 933 | ], 934 | "picture": "9(3)", 935 | "default": 237 936 | }, 937 | "lote_servico": { 938 | "pos": [ 939 | 4, 940 | 7 941 | ], 942 | "picture": "9(4)" 943 | }, 944 | "tipo_registro": { 945 | "pos": [ 946 | 8, 947 | 8 948 | ], 949 | "picture": "9(1)", 950 | "default": 1 951 | }, 952 | "tipo_operacao": { 953 | "pos": [ 954 | 9, 955 | 9 956 | ], 957 | "picture": "X(1)", 958 | "default": "C" 959 | }, 960 | "tipo_servico": { 961 | "pos": [ 962 | 10, 963 | 11 964 | ], 965 | "picture": "9(2)" 966 | }, 967 | "forma_lancamento": { 968 | "pos": [ 969 | 12, 970 | 13 971 | ], 972 | "picture": "9(2)" 973 | }, 974 | "versao_layout": { 975 | "pos": [ 976 | 14, 977 | 16 978 | ], 979 | "picture": "9(3)", 980 | "default": 40 981 | }, 982 | "exclusivo_febraban_01": { 983 | "pos": [ 984 | 17, 985 | 17 986 | ], 987 | "picture": "X(1)", 988 | "default": "" 989 | }, 990 | "tipo_inscricao": { 991 | "pos": [ 992 | 18, 993 | 18 994 | ], 995 | "picture": "9(1)" 996 | }, 997 | "numero_inscricao": { 998 | "pos": [ 999 | 19, 1000 | 32 1001 | ], 1002 | "picture": "9(14)" 1003 | }, 1004 | "codigo_convenio": { 1005 | "pos": [ 1006 | 33, 1007 | 52 1008 | ], 1009 | "picture": "X(20)" 1010 | }, 1011 | "agencia": { 1012 | "pos": [ 1013 | 53, 1014 | 57 1015 | ], 1016 | "picture": "9(5)" 1017 | }, 1018 | "verificador_agencia": { 1019 | "pos": [ 1020 | 58, 1021 | 58 1022 | ], 1023 | "picture": "X(1)" 1024 | }, 1025 | "conta": { 1026 | "pos": [ 1027 | 59, 1028 | 70 1029 | ], 1030 | "picture": "9(12)" 1031 | }, 1032 | "verificador_conta": { 1033 | "pos": [ 1034 | 71, 1035 | 71 1036 | ], 1037 | "picture": "X(1)" 1038 | }, 1039 | "verificador_agencia_conta": { 1040 | "pos": [ 1041 | 72, 1042 | 72 1043 | ], 1044 | "picture": "X(1)" 1045 | }, 1046 | "nome_empresa": { 1047 | "pos": [ 1048 | 73, 1049 | 102 1050 | ], 1051 | "picture": "X(30)" 1052 | }, 1053 | "mensagem_01": { 1054 | "pos": [ 1055 | 103, 1056 | 142 1057 | ], 1058 | "picture": "X(40)", 1059 | "default": "" 1060 | }, 1061 | "logradouro": { 1062 | "pos": [ 1063 | 143, 1064 | 172 1065 | ], 1066 | "picture": "X(30)" 1067 | }, 1068 | "numero": { 1069 | "pos": [ 1070 | 173, 1071 | 177 1072 | ], 1073 | "picture": "9(5)" 1074 | }, 1075 | "complemento": { 1076 | "pos": [ 1077 | 178, 1078 | 192 1079 | ], 1080 | "picture": "X(15)" 1081 | }, 1082 | "cidade": { 1083 | "pos": [ 1084 | 193, 1085 | 212 1086 | ], 1087 | "picture": "X(20)" 1088 | }, 1089 | "cep": { 1090 | "pos": [ 1091 | 213, 1092 | 217 1093 | ], 1094 | "picture": "9(5)" 1095 | }, 1096 | "sufixo_cep": { 1097 | "pos": [ 1098 | 218, 1099 | 220 1100 | ], 1101 | "picture": "X(3)" 1102 | }, 1103 | "sigla_uf": { 1104 | "pos": [ 1105 | 221, 1106 | 222 1107 | ], 1108 | "picture": "X(2)" 1109 | }, 1110 | "exclusivo_febraban_02": { 1111 | "pos": [ 1112 | 223, 1113 | 230 1114 | ], 1115 | "picture": "X(6)", 1116 | "default": "" 1117 | }, 1118 | "ocorrencias": { 1119 | "pos": [ 1120 | 231, 1121 | 240 1122 | ], 1123 | "picture": "X(10)" 1124 | } 1125 | }, 1126 | "trailer_lote": { 1127 | "codigo_banco": { 1128 | "pos": [ 1129 | 1, 1130 | 3 1131 | ], 1132 | "picture": "9(3)", 1133 | "default": 237 1134 | }, 1135 | "lote_servico": { 1136 | "pos": [ 1137 | 4, 1138 | 7 1139 | ], 1140 | "picture": "9(4)" 1141 | }, 1142 | "tipo_registro": { 1143 | "pos": [ 1144 | 8, 1145 | 8 1146 | ], 1147 | "picture": "9(1)", 1148 | "default": 5 1149 | }, 1150 | "exclusivo_febraban_01": { 1151 | "pos": [ 1152 | 9, 1153 | 17 1154 | ], 1155 | "picture": "X(9)", 1156 | "default": "" 1157 | }, 1158 | "quantidade_registros": { 1159 | "pos": [ 1160 | 18, 1161 | 23 1162 | ], 1163 | "picture": "9(6)" 1164 | }, 1165 | "somatoria_valores": { 1166 | "pos": [ 1167 | 24, 1168 | 41 1169 | ], 1170 | "picture": "9(16)V9(2)" 1171 | }, 1172 | "somatoria_quantidade_moedas": { 1173 | "pos": [ 1174 | 42, 1175 | 59 1176 | ], 1177 | "picture": "9(13)V9(5)" 1178 | }, 1179 | "numero_aviso": { 1180 | "pos": [ 1181 | 60, 1182 | 65 1183 | ], 1184 | "picture": "9(6)" 1185 | }, 1186 | "exclusivo_febraban_02": { 1187 | "pos": [ 1188 | 66, 1189 | 230 1190 | ], 1191 | "picture": "X(165)", 1192 | "default": "" 1193 | }, 1194 | "ocorrencias": { 1195 | "pos": [ 1196 | 231, 1197 | 240 1198 | ], 1199 | "picture": "X(10)" 1200 | } 1201 | }, 1202 | "detalhes": { 1203 | "segmento_j": { 1204 | "codigo_banco": { 1205 | "pos": [ 1206 | 1, 1207 | 3 1208 | ], 1209 | "picture": "9(3)", 1210 | "default": 237 1211 | }, 1212 | "lote_servico": { 1213 | "pos": [ 1214 | 4, 1215 | 7 1216 | ], 1217 | "picture": "9(4)" 1218 | }, 1219 | "tipo_registro": { 1220 | "pos": [ 1221 | 8, 1222 | 8 1223 | ], 1224 | "picture": "9(1)", 1225 | "default": 3 1226 | }, 1227 | "numero_registro": { 1228 | "pos": [ 1229 | 9, 1230 | 13 1231 | ], 1232 | "picture": "9(5)" 1233 | }, 1234 | "codigo_segmento": { 1235 | "pos": [ 1236 | 14, 1237 | 14 1238 | ], 1239 | "picture": "X(1)", 1240 | "default": "J" 1241 | }, 1242 | "tipo_movimento": { 1243 | "pos": [ 1244 | 15, 1245 | 15 1246 | ], 1247 | "picture": "9(1)", 1248 | "default": "" 1249 | }, 1250 | "codigo_movimento": { 1251 | "pos": [ 1252 | 16, 1253 | 17 1254 | ], 1255 | "picture": "9(2)" 1256 | }, 1257 | "codigo_barras": { 1258 | "pos": [ 1259 | 18, 1260 | 61 1261 | ], 1262 | "picture": "9(44)" 1263 | }, 1264 | "nome_cedente": { 1265 | "pos": [ 1266 | 62, 1267 | 91 1268 | ], 1269 | "picture": "X(30)" 1270 | }, 1271 | "data_vencimento_nominal": { 1272 | "pos": [ 1273 | 92, 1274 | 99 1275 | ], 1276 | "picture": "9(8)" 1277 | }, 1278 | "valor_titulo_nominal": { 1279 | "pos": [ 1280 | 100, 1281 | 114 1282 | ], 1283 | "picture": "9(13)V9(2)" 1284 | }, 1285 | "valor_desconto_abatimento": { 1286 | "pos": [ 1287 | 115, 1288 | 129 1289 | ], 1290 | "picture": "9(13)V9(2)" 1291 | }, 1292 | "valor_mora_multa": { 1293 | "pos": [ 1294 | 130, 1295 | 144 1296 | ], 1297 | "picture": "9(13)V9(2)" 1298 | }, 1299 | "data_pagamento": { 1300 | "pos": [ 1301 | 145, 1302 | 152 1303 | ], 1304 | "picture": "9(8)" 1305 | }, 1306 | "valor_pagamento": { 1307 | "pos": [ 1308 | 153, 1309 | 167 1310 | ], 1311 | "picture": "9(13)V9(2)" 1312 | }, 1313 | "quantidade_moeda": { 1314 | "pos": [ 1315 | 168, 1316 | 182 1317 | ], 1318 | "picture": "9(10)V9(5)" 1319 | }, 1320 | "referencia_sacado": { 1321 | "pos": [ 1322 | 183, 1323 | 202 1324 | ], 1325 | "picture": "X(20)" 1326 | }, 1327 | "nosso_numero": { 1328 | "pos": [ 1329 | 203, 1330 | 222 1331 | ], 1332 | "picture": "X(20)" 1333 | }, 1334 | "codigo_moeda": { 1335 | "pos": [ 1336 | 223, 1337 | 225 1338 | ], 1339 | "picture": "9(2)" 1340 | }, 1341 | "exclusivo_febraban_01": { 1342 | "pos": [ 1343 | 225, 1344 | 230 1345 | ], 1346 | "picture": "X(6)", 1347 | "default": "" 1348 | }, 1349 | "ocorrencias": { 1350 | "pos": [ 1351 | 231, 1352 | 240 1353 | ], 1354 | "picture": "X(10)" 1355 | } 1356 | } 1357 | } 1358 | } 1359 | } -------------------------------------------------------------------------------- /layouts/237/240/multipag_tributos.json: -------------------------------------------------------------------------------- 1 | { 2 | "servico": "multipag_tributos", 3 | "versao": "02", 4 | "layout": "240", 5 | "remessa": { 6 | "header_arquivo": { 7 | "codigo_banco": { 8 | "pos": [ 9 | 1, 10 | 3 11 | ], 12 | "picture": "9(3)", 13 | "default": 237 14 | }, 15 | "lote_servico": { 16 | "pos": [ 17 | 4, 18 | 7 19 | ], 20 | "picture": "9(4)", 21 | "default": 0 22 | }, 23 | "tipo_registro": { 24 | "pos": [ 25 | 8, 26 | 8 27 | ], 28 | "picture": "9(1)", 29 | "default": 0 30 | }, 31 | "exclusivo_febraban_01": { 32 | "pos": [ 33 | 9, 34 | 17 35 | ], 36 | "picture": "X(9)", 37 | "default": "" 38 | }, 39 | "tipo_inscricao": { 40 | "pos": [ 41 | 18, 42 | 18 43 | ], 44 | "picture": "9(1)" 45 | }, 46 | "numero_inscricao": { 47 | "pos": [ 48 | 19, 49 | 32 50 | ], 51 | "picture": "9(14)" 52 | }, 53 | "codigo_convenio": { 54 | "pos": [ 55 | 33, 56 | 52 57 | ], 58 | "picture": "X(20)" 59 | }, 60 | "agencia": { 61 | "pos": [ 62 | 53, 63 | 57 64 | ], 65 | "picture": "9(5)" 66 | }, 67 | "verificador_agencia": { 68 | "pos": [ 69 | 58, 70 | 58 71 | ], 72 | "picture": "X(1)" 73 | }, 74 | "conta": { 75 | "pos": [ 76 | 59, 77 | 70 78 | ], 79 | "picture": "9(12)" 80 | }, 81 | "verificador_conta": { 82 | "pos": [ 83 | 71, 84 | 71 85 | ], 86 | "picture": "X(1)" 87 | }, 88 | "verificador_agencia_conta": { 89 | "pos": [ 90 | 72, 91 | 72 92 | ], 93 | "picture": "X(1)", 94 | "default": "" 95 | }, 96 | "nome_empresa": { 97 | "pos": [ 98 | 73, 99 | 102 100 | ], 101 | "picture": "X(30)" 102 | }, 103 | "nome_banco": { 104 | "pos": [ 105 | 103, 106 | 132 107 | ], 108 | "picture": "X(30)", 109 | "default": "BANCO BRADESCO S.A." 110 | }, 111 | "exclusivo_febraban_02": { 112 | "pos": [ 113 | 133, 114 | 142 115 | ], 116 | "picture": "X(10)", 117 | "default": "" 118 | }, 119 | "codigo_remessa_retorno": { 120 | "pos": [ 121 | 143, 122 | 143 123 | ], 124 | "picture": "9(1)" 125 | }, 126 | "data_geracao": { 127 | "pos": [ 128 | 144, 129 | 151 130 | ], 131 | "picture": "9(8)" 132 | }, 133 | "hora_geracao": { 134 | "pos": [ 135 | 152, 136 | 157 137 | ], 138 | "picture": "9(6)" 139 | }, 140 | "numero_sequencial": { 141 | "pos": [ 142 | 158, 143 | 163 144 | ], 145 | "picture": "9(6)" 146 | }, 147 | "versao_layout": { 148 | "pos": [ 149 | 164, 150 | 166 151 | ], 152 | "picture": "9(3)", 153 | "default": 89 154 | }, 155 | "densidade_gravacao": { 156 | "pos": [ 157 | 167, 158 | 171 159 | ], 160 | "picture": "9(5)", 161 | "default": 0 162 | }, 163 | "reservado_banco_01": { 164 | "pos": [ 165 | 172, 166 | 191 167 | ], 168 | "picture": "X(20)", 169 | "default": "" 170 | }, 171 | "reservado_empresa_01": { 172 | "pos": [ 173 | 192, 174 | 211 175 | ], 176 | "picture": "X(20)", 177 | "default": "" 178 | }, 179 | "exclusivo_febraban_03": { 180 | "pos": [ 181 | 212, 182 | 240 183 | ], 184 | "picture": "X(29)", 185 | "default": "" 186 | } 187 | }, 188 | "trailer_arquivo": { 189 | "codigo_banco": { 190 | "pos": [ 191 | 1, 192 | 3 193 | ], 194 | "picture": "9(3)", 195 | "default": 237 196 | }, 197 | "lote_servico": { 198 | "pos": [ 199 | 4, 200 | 7 201 | ], 202 | "picture": "9(4)", 203 | "default": "9999" 204 | }, 205 | "tipo_registro": { 206 | "pos": [ 207 | 8, 208 | 8 209 | ], 210 | "picture": "9(1)", 211 | "default": 9 212 | }, 213 | "exclusivo_febraban_01": { 214 | "pos": [ 215 | 9, 216 | 17 217 | ], 218 | "picture": "X(9)", 219 | "default": "" 220 | }, 221 | "quantidade_lotes": { 222 | "pos": [ 223 | 18, 224 | 23 225 | ], 226 | "picture": "9(6)" 227 | }, 228 | "quantidade_registros": { 229 | "pos": [ 230 | 24, 231 | 29 232 | ], 233 | "picture": "9(6)" 234 | }, 235 | "quantidade_contas": { 236 | "pos": [ 237 | 30, 238 | 35 239 | ], 240 | "picture": "9(6)" 241 | }, 242 | "exclusivo_febraban_02": { 243 | "pos": [ 244 | 36, 245 | 240 246 | ], 247 | "picture": "X(205)", 248 | "default": "" 249 | } 250 | }, 251 | "header_lote": { 252 | "codigo_banco": { 253 | "pos": [ 254 | 1, 255 | 3 256 | ], 257 | "picture": "9(3)", 258 | "default": 237 259 | }, 260 | "lote_servico": { 261 | "pos": [ 262 | 4, 263 | 7 264 | ], 265 | "picture": "9(4)" 266 | }, 267 | "tipo_registro": { 268 | "pos": [ 269 | 8, 270 | 8 271 | ], 272 | "picture": "9(1)", 273 | "default": 1 274 | }, 275 | "tipo_operacao": { 276 | "pos": [ 277 | 9, 278 | 9 279 | ], 280 | "picture": "X(1)", 281 | "default": "C" 282 | }, 283 | "tipo_servico": { 284 | "pos": [ 285 | 10, 286 | 11 287 | ], 288 | "picture": "9(2)" 289 | }, 290 | "forma_lancamento": { 291 | "pos": [ 292 | 12, 293 | 13 294 | ], 295 | "picture": "9(2)" 296 | }, 297 | "versao_layout": { 298 | "pos": [ 299 | 14, 300 | 16 301 | ], 302 | "picture": "9(3)", 303 | "default": 12 304 | }, 305 | "exclusivo_febraban_01": { 306 | "pos": [ 307 | 17, 308 | 17 309 | ], 310 | "picture": "X(1)", 311 | "default": "" 312 | }, 313 | "tipo_inscricao": { 314 | "pos": [ 315 | 18, 316 | 18 317 | ], 318 | "picture": "9(1)" 319 | }, 320 | "numero_inscricao": { 321 | "pos": [ 322 | 19, 323 | 32 324 | ], 325 | "picture": "9(14)" 326 | }, 327 | "codigo_convenio": { 328 | "pos": [ 329 | 33, 330 | 52 331 | ], 332 | "picture": "X(20)" 333 | }, 334 | "agencia": { 335 | "pos": [ 336 | 53, 337 | 57 338 | ], 339 | "picture": "9(5)" 340 | }, 341 | "verificador_agencia": { 342 | "pos": [ 343 | 58, 344 | 58 345 | ], 346 | "picture": "X(1)" 347 | }, 348 | "conta": { 349 | "pos": [ 350 | 59, 351 | 70 352 | ], 353 | "picture": "9(12)" 354 | }, 355 | "verificador_conta": { 356 | "pos": [ 357 | 71, 358 | 71 359 | ], 360 | "picture": "X(1)" 361 | }, 362 | "verificador_agencia_conta": { 363 | "pos": [ 364 | 72, 365 | 72 366 | ], 367 | "picture": "X(1)" 368 | }, 369 | "nome_empresa": { 370 | "pos": [ 371 | 73, 372 | 102 373 | ], 374 | "picture": "X(30)" 375 | }, 376 | "mensagem_01": { 377 | "pos": [ 378 | 103, 379 | 142 380 | ], 381 | "picture": "X(40)", 382 | "default": "" 383 | }, 384 | "logradouro": { 385 | "pos": [ 386 | 143, 387 | 172 388 | ], 389 | "picture": "X(30)" 390 | }, 391 | "numero": { 392 | "pos": [ 393 | 173, 394 | 177 395 | ], 396 | "picture": "9(5)" 397 | }, 398 | "complemento": { 399 | "pos": [ 400 | 178, 401 | 192 402 | ], 403 | "picture": "X(15)" 404 | }, 405 | "cidade": { 406 | "pos": [ 407 | 193, 408 | 212 409 | ], 410 | "picture": "X(20)" 411 | }, 412 | "cep": { 413 | "pos": [ 414 | 213, 415 | 217 416 | ], 417 | "picture": "9(5)" 418 | }, 419 | "sufixo_cep": { 420 | "pos": [ 421 | 218, 422 | 220 423 | ], 424 | "picture": "X(3)" 425 | }, 426 | "sigla_uf": { 427 | "pos": [ 428 | 221, 429 | 222 430 | ], 431 | "picture": "X(2)" 432 | }, 433 | "indicativo_forma_pagamento": { 434 | "pos": [ 435 | 223, 436 | 224 437 | ], 438 | "picture": "9(2)" 439 | }, 440 | "exclusivo_febraban_02": { 441 | "pos": [ 442 | 225, 443 | 230 444 | ], 445 | "picture": "X(6)", 446 | "default": "" 447 | }, 448 | "ocorrencias": { 449 | "pos": [ 450 | 231, 451 | 240 452 | ], 453 | "picture": "X(10)" 454 | } 455 | }, 456 | "trailer_lote": { 457 | "codigo_banco": { 458 | "pos": [ 459 | 1, 460 | 3 461 | ], 462 | "picture": "9(3)", 463 | "default": 237 464 | }, 465 | "lote_servico": { 466 | "pos": [ 467 | 4, 468 | 7 469 | ], 470 | "picture": "9(4)" 471 | }, 472 | "tipo_registro": { 473 | "pos": [ 474 | 8, 475 | 8 476 | ], 477 | "picture": "9(1)", 478 | "default": 5 479 | }, 480 | "exclusivo_febraban_01": { 481 | "pos": [ 482 | 9, 483 | 17 484 | ], 485 | "picture": "X(9)", 486 | "default": "" 487 | }, 488 | "quantidade_registros": { 489 | "pos": [ 490 | 18, 491 | 23 492 | ], 493 | "picture": "9(6)" 494 | }, 495 | "somatoria_valores": { 496 | "pos": [ 497 | 24, 498 | 41 499 | ], 500 | "picture": "9(16)V9(2)" 501 | }, 502 | "somatoria_quantidade_moedas": { 503 | "pos": [ 504 | 42, 505 | 59 506 | ], 507 | "picture": "9(13)V9(5)" 508 | }, 509 | "numero_aviso": { 510 | "pos": [ 511 | 60, 512 | 65 513 | ], 514 | "picture": "9(6)" 515 | }, 516 | "exclusivo_febraban_02": { 517 | "pos": [ 518 | 66, 519 | 230 520 | ], 521 | "picture": "X(165)", 522 | "default": "" 523 | }, 524 | "ocorrencias": { 525 | "pos": [ 526 | 231, 527 | 240 528 | ], 529 | "picture": "X(10)" 530 | } 531 | }, 532 | "detalhes": { 533 | "segmento_o": { 534 | "codigo_banco": { 535 | "pos": [ 536 | 1, 537 | 3 538 | ], 539 | "picture": "9(3)", 540 | "default": 237 541 | }, 542 | "lote_servico": { 543 | "pos": [ 544 | 4, 545 | 7 546 | ], 547 | "picture": "9(4)" 548 | }, 549 | "tipo_registro": { 550 | "pos": [ 551 | 8, 552 | 8 553 | ], 554 | "picture": "9(1)", 555 | "default": 3 556 | }, 557 | "numero_registro": { 558 | "pos": [ 559 | 9, 560 | 13 561 | ], 562 | "picture": "9(5)" 563 | }, 564 | "codigo_segmento": { 565 | "pos": [ 566 | 14, 567 | 14 568 | ], 569 | "picture": "X(1)", 570 | "default": "O" 571 | }, 572 | "tipo_movimento": { 573 | "pos": [ 574 | 15, 575 | 15 576 | ], 577 | "picture": "9(1)", 578 | "default": "" 579 | }, 580 | "codigo_movimento": { 581 | "pos": [ 582 | 16, 583 | 17 584 | ], 585 | "picture": "9(2)" 586 | }, 587 | "codigo_barras": { 588 | "pos": [ 589 | 18, 590 | 61 591 | ], 592 | "picture": "9(44)" 593 | }, 594 | "nome_concessionaria": { 595 | "pos": [ 596 | 62, 597 | 91 598 | ], 599 | "picture": "X(30)" 600 | }, 601 | "data_vencimento_nominal": { 602 | "pos": [ 603 | 92, 604 | 99 605 | ], 606 | "picture": "9(8)" 607 | }, 608 | "data_pagamento": { 609 | "pos": [ 610 | 100, 611 | 107 612 | ], 613 | "picture": "9(8)" 614 | }, 615 | "valor_pagamento": { 616 | "pos": [ 617 | 108, 618 | 122 619 | ], 620 | "picture": "9(13)V9(2)" 621 | }, 622 | "referencia_sacado": { 623 | "pos": [ 624 | 123, 625 | 142 626 | ], 627 | "picture": "X(20)" 628 | }, 629 | "nosso_numero": { 630 | "pos": [ 631 | 143, 632 | 162 633 | ], 634 | "picture": "X(20)" 635 | }, 636 | "exclusivo_febraban_01": { 637 | "pos": [ 638 | 163, 639 | 230 640 | ], 641 | "picture": "X(68)", 642 | "default": "" 643 | }, 644 | "ocorrencias": { 645 | "pos": [ 646 | 231, 647 | 240 648 | ], 649 | "picture": "X(10)" 650 | } 651 | }, 652 | "segmento_j": { 653 | "codigo_banco": { 654 | "pos": [ 655 | 1, 656 | 3 657 | ], 658 | "picture": "9(3)", 659 | "default": 237 660 | }, 661 | "lote_servico": { 662 | "pos": [ 663 | 4, 664 | 7 665 | ], 666 | "picture": "9(4)" 667 | }, 668 | "tipo_registro": { 669 | "pos": [ 670 | 8, 671 | 8 672 | ], 673 | "picture": "9(1)", 674 | "default": 3 675 | }, 676 | "numero_registro": { 677 | "pos": [ 678 | 9, 679 | 13 680 | ], 681 | "picture": "9(5)" 682 | }, 683 | "codigo_segmento": { 684 | "pos": [ 685 | 14, 686 | 14 687 | ], 688 | "picture": "X(1)", 689 | "default": "O" 690 | }, 691 | "tipo_movimento": { 692 | "pos": [ 693 | 15, 694 | 15 695 | ], 696 | "picture": "9(1)", 697 | "default": "" 698 | }, 699 | "codigo_movimento": { 700 | "pos": [ 701 | 16, 702 | 17 703 | ], 704 | "picture": "9(2)" 705 | }, 706 | "codigo_barras": { 707 | "pos": [ 708 | 18, 709 | 61 710 | ], 711 | "picture": "9(44)" 712 | }, 713 | "nome_concessionaria": { 714 | "pos": [ 715 | 62, 716 | 91 717 | ], 718 | "picture": "X(30)" 719 | }, 720 | "data_vencimento_nominal": { 721 | "pos": [ 722 | 92, 723 | 99 724 | ], 725 | "picture": "9(8)" 726 | }, 727 | "data_pagamento": { 728 | "pos": [ 729 | 100, 730 | 107 731 | ], 732 | "picture": "9(8)" 733 | }, 734 | "valor_pagamento": { 735 | "pos": [ 736 | 108, 737 | 122 738 | ], 739 | "picture": "9(13)V9(2)" 740 | }, 741 | "referencia_sacado": { 742 | "pos": [ 743 | 123, 744 | 142 745 | ], 746 | "picture": "X(20)" 747 | }, 748 | "nosso_numero": { 749 | "pos": [ 750 | 143, 751 | 162 752 | ], 753 | "picture": "X(20)" 754 | }, 755 | "exclusivo_febraban_01": { 756 | "pos": [ 757 | 163, 758 | 230 759 | ], 760 | "picture": "X(68)", 761 | "default": "" 762 | }, 763 | "ocorrencias": { 764 | "pos": [ 765 | 231, 766 | 240 767 | ], 768 | "picture": "X(10)" 769 | } 770 | } 771 | } 772 | }, 773 | "retorno": { 774 | "header_arquivo": { 775 | "codigo_banco": { 776 | "pos": [ 777 | 1, 778 | 3 779 | ], 780 | "picture": "9(3)", 781 | "default": 237 782 | }, 783 | "lote_servico": { 784 | "pos": [ 785 | 4, 786 | 7 787 | ], 788 | "picture": "9(4)", 789 | "default": 0 790 | }, 791 | "tipo_registro": { 792 | "pos": [ 793 | 8, 794 | 8 795 | ], 796 | "picture": "9(1)", 797 | "default": 0 798 | }, 799 | "exclusivo_febraban_01": { 800 | "pos": [ 801 | 9, 802 | 17 803 | ], 804 | "picture": "X(9)", 805 | "default": "" 806 | }, 807 | "tipo_inscricao": { 808 | "pos": [ 809 | 18, 810 | 18 811 | ], 812 | "picture": "9(1)" 813 | }, 814 | "numero_inscricao": { 815 | "pos": [ 816 | 19, 817 | 32 818 | ], 819 | "picture": "9(14)" 820 | }, 821 | "codigo_convenio": { 822 | "pos": [ 823 | 33, 824 | 52 825 | ], 826 | "picture": "X(20)" 827 | }, 828 | "agencia": { 829 | "pos": [ 830 | 53, 831 | 57 832 | ], 833 | "picture": "9(5)" 834 | }, 835 | "verificador_agencia": { 836 | "pos": [ 837 | 58, 838 | 58 839 | ], 840 | "picture": "X(1)" 841 | }, 842 | "conta": { 843 | "pos": [ 844 | 59, 845 | 70 846 | ], 847 | "picture": "9(12)" 848 | }, 849 | "verificador_conta": { 850 | "pos": [ 851 | 71, 852 | 71 853 | ], 854 | "picture": "X(1)" 855 | }, 856 | "verificador_agencia_conta": { 857 | "pos": [ 858 | 72, 859 | 72 860 | ], 861 | "picture": "X(1)", 862 | "default": "" 863 | }, 864 | "nome_empresa": { 865 | "pos": [ 866 | 73, 867 | 102 868 | ], 869 | "picture": "X(30)" 870 | }, 871 | "nome_banco": { 872 | "pos": [ 873 | 103, 874 | 132 875 | ], 876 | "picture": "X(30)", 877 | "default": "BANCO BRADESCO S.A." 878 | }, 879 | "exclusivo_febraban_02": { 880 | "pos": [ 881 | 133, 882 | 142 883 | ], 884 | "picture": "X(10)", 885 | "default": "" 886 | }, 887 | "codigo_remessa_retorno": { 888 | "pos": [ 889 | 143, 890 | 143 891 | ], 892 | "picture": "9(1)" 893 | }, 894 | "data_geracao": { 895 | "pos": [ 896 | 144, 897 | 151 898 | ], 899 | "picture": "9(8)" 900 | }, 901 | "hora_geracao": { 902 | "pos": [ 903 | 152, 904 | 157 905 | ], 906 | "picture": "9(6)" 907 | }, 908 | "numero_sequencial": { 909 | "pos": [ 910 | 158, 911 | 163 912 | ], 913 | "picture": "9(6)" 914 | }, 915 | "versao_layout": { 916 | "pos": [ 917 | 164, 918 | 166 919 | ], 920 | "picture": "9(3)", 921 | "default": 89 922 | }, 923 | "densidade_gravacao": { 924 | "pos": [ 925 | 167, 926 | 171 927 | ], 928 | "picture": "9(5)", 929 | "default": 0 930 | }, 931 | "reservado_banco_01": { 932 | "pos": [ 933 | 172, 934 | 191 935 | ], 936 | "picture": "X(20)", 937 | "default": "" 938 | }, 939 | "reservado_empresa_01": { 940 | "pos": [ 941 | 192, 942 | 211 943 | ], 944 | "picture": "X(20)", 945 | "default": "" 946 | }, 947 | "exclusivo_febraban_03": { 948 | "pos": [ 949 | 212, 950 | 240 951 | ], 952 | "picture": "X(29)", 953 | "default": "" 954 | } 955 | }, 956 | "trailer_arquivo": { 957 | "codigo_banco": { 958 | "pos": [ 959 | 1, 960 | 3 961 | ], 962 | "picture": "9(3)", 963 | "default": 237 964 | }, 965 | "lote_servico": { 966 | "pos": [ 967 | 4, 968 | 7 969 | ], 970 | "picture": "9(4)", 971 | "default": "9999" 972 | }, 973 | "tipo_registro": { 974 | "pos": [ 975 | 8, 976 | 8 977 | ], 978 | "picture": "9(1)", 979 | "default": 9 980 | }, 981 | "exclusivo_febraban_01": { 982 | "pos": [ 983 | 9, 984 | 17 985 | ], 986 | "picture": "X(9)", 987 | "default": "" 988 | }, 989 | "quantidade_lotes": { 990 | "pos": [ 991 | 18, 992 | 23 993 | ], 994 | "picture": "9(6)" 995 | }, 996 | "quantidade_registros": { 997 | "pos": [ 998 | 24, 999 | 29 1000 | ], 1001 | "picture": "9(6)" 1002 | }, 1003 | "quantidade_contas": { 1004 | "pos": [ 1005 | 30, 1006 | 35 1007 | ], 1008 | "picture": "9(6)" 1009 | }, 1010 | "exclusivo_febraban_02": { 1011 | "pos": [ 1012 | 36, 1013 | 240 1014 | ], 1015 | "picture": "X(205)", 1016 | "default": "" 1017 | } 1018 | }, 1019 | "header_lote": { 1020 | "codigo_banco": { 1021 | "pos": [ 1022 | 1, 1023 | 3 1024 | ], 1025 | "picture": "9(3)", 1026 | "default": 237 1027 | }, 1028 | "lote_servico": { 1029 | "pos": [ 1030 | 4, 1031 | 7 1032 | ], 1033 | "picture": "9(4)" 1034 | }, 1035 | "tipo_registro": { 1036 | "pos": [ 1037 | 8, 1038 | 8 1039 | ], 1040 | "picture": "9(1)", 1041 | "default": 1 1042 | }, 1043 | "tipo_operacao": { 1044 | "pos": [ 1045 | 9, 1046 | 9 1047 | ], 1048 | "picture": "X(1)", 1049 | "default": "C" 1050 | }, 1051 | "tipo_servico": { 1052 | "pos": [ 1053 | 10, 1054 | 11 1055 | ], 1056 | "picture": "9(2)" 1057 | }, 1058 | "forma_lancamento": { 1059 | "pos": [ 1060 | 12, 1061 | 13 1062 | ], 1063 | "picture": "9(2)" 1064 | }, 1065 | "versao_layout": { 1066 | "pos": [ 1067 | 14, 1068 | 16 1069 | ], 1070 | "picture": "9(3)", 1071 | "default": 12 1072 | }, 1073 | "exclusivo_febraban_01": { 1074 | "pos": [ 1075 | 17, 1076 | 17 1077 | ], 1078 | "picture": "X(1)", 1079 | "default": "" 1080 | }, 1081 | "tipo_inscricao": { 1082 | "pos": [ 1083 | 18, 1084 | 18 1085 | ], 1086 | "picture": "9(1)" 1087 | }, 1088 | "numero_inscricao": { 1089 | "pos": [ 1090 | 19, 1091 | 32 1092 | ], 1093 | "picture": "9(14)" 1094 | }, 1095 | "codigo_convenio": { 1096 | "pos": [ 1097 | 33, 1098 | 52 1099 | ], 1100 | "picture": "X(20)" 1101 | }, 1102 | "agencia": { 1103 | "pos": [ 1104 | 53, 1105 | 57 1106 | ], 1107 | "picture": "9(5)" 1108 | }, 1109 | "verificador_agencia": { 1110 | "pos": [ 1111 | 58, 1112 | 58 1113 | ], 1114 | "picture": "X(1)" 1115 | }, 1116 | "conta": { 1117 | "pos": [ 1118 | 59, 1119 | 70 1120 | ], 1121 | "picture": "9(12)" 1122 | }, 1123 | "verificador_conta": { 1124 | "pos": [ 1125 | 71, 1126 | 71 1127 | ], 1128 | "picture": "X(1)" 1129 | }, 1130 | "verificador_agencia_conta": { 1131 | "pos": [ 1132 | 72, 1133 | 72 1134 | ], 1135 | "picture": "X(1)" 1136 | }, 1137 | "nome_empresa": { 1138 | "pos": [ 1139 | 73, 1140 | 102 1141 | ], 1142 | "picture": "X(30)" 1143 | }, 1144 | "mensagem_01": { 1145 | "pos": [ 1146 | 103, 1147 | 142 1148 | ], 1149 | "picture": "X(40)", 1150 | "default": "" 1151 | }, 1152 | "logradouro": { 1153 | "pos": [ 1154 | 143, 1155 | 172 1156 | ], 1157 | "picture": "X(30)" 1158 | }, 1159 | "numero": { 1160 | "pos": [ 1161 | 173, 1162 | 177 1163 | ], 1164 | "picture": "9(5)" 1165 | }, 1166 | "complemento": { 1167 | "pos": [ 1168 | 178, 1169 | 192 1170 | ], 1171 | "picture": "X(15)" 1172 | }, 1173 | "cidade": { 1174 | "pos": [ 1175 | 193, 1176 | 212 1177 | ], 1178 | "picture": "X(20)" 1179 | }, 1180 | "cep": { 1181 | "pos": [ 1182 | 213, 1183 | 217 1184 | ], 1185 | "picture": "9(5)" 1186 | }, 1187 | "sufixo_cep": { 1188 | "pos": [ 1189 | 218, 1190 | 220 1191 | ], 1192 | "picture": "X(3)" 1193 | }, 1194 | "sigla_uf": { 1195 | "pos": [ 1196 | 221, 1197 | 222 1198 | ], 1199 | "picture": "X(2)" 1200 | }, 1201 | "indicativo_forma_pagamento": { 1202 | "pos": [ 1203 | 223, 1204 | 224 1205 | ], 1206 | "picture": "9(2)" 1207 | }, 1208 | "exclusivo_febraban_02": { 1209 | "pos": [ 1210 | 225, 1211 | 230 1212 | ], 1213 | "picture": "X(6)", 1214 | "default": "" 1215 | }, 1216 | "ocorrencias": { 1217 | "pos": [ 1218 | 231, 1219 | 240 1220 | ], 1221 | "picture": "X(10)" 1222 | } 1223 | }, 1224 | "trailer_lote": { 1225 | "codigo_banco": { 1226 | "pos": [ 1227 | 1, 1228 | 3 1229 | ], 1230 | "picture": "9(3)", 1231 | "default": 237 1232 | }, 1233 | "lote_servico": { 1234 | "pos": [ 1235 | 4, 1236 | 7 1237 | ], 1238 | "picture": "9(4)" 1239 | }, 1240 | "tipo_registro": { 1241 | "pos": [ 1242 | 8, 1243 | 8 1244 | ], 1245 | "picture": "9(1)", 1246 | "default": 5 1247 | }, 1248 | "exclusivo_febraban_01": { 1249 | "pos": [ 1250 | 9, 1251 | 17 1252 | ], 1253 | "picture": "X(9)", 1254 | "default": "" 1255 | }, 1256 | "quantidade_registros": { 1257 | "pos": [ 1258 | 18, 1259 | 23 1260 | ], 1261 | "picture": "9(6)" 1262 | }, 1263 | "somatoria_valores": { 1264 | "pos": [ 1265 | 24, 1266 | 41 1267 | ], 1268 | "picture": "9(16)V9(2)" 1269 | }, 1270 | "somatoria_quantidade_moedas": { 1271 | "pos": [ 1272 | 42, 1273 | 59 1274 | ], 1275 | "picture": "9(13)V9(5)" 1276 | }, 1277 | "numero_aviso": { 1278 | "pos": [ 1279 | 60, 1280 | 65 1281 | ], 1282 | "picture": "9(6)" 1283 | }, 1284 | "exclusivo_febraban_02": { 1285 | "pos": [ 1286 | 66, 1287 | 230 1288 | ], 1289 | "picture": "X(165)", 1290 | "default": "" 1291 | }, 1292 | "ocorrencias": { 1293 | "pos": [ 1294 | 231, 1295 | 240 1296 | ], 1297 | "picture": "X(10)" 1298 | } 1299 | }, 1300 | "detalhes": { 1301 | "segmento_o": { 1302 | "codigo_banco": { 1303 | "pos": [ 1304 | 1, 1305 | 3 1306 | ], 1307 | "picture": "9(3)", 1308 | "default": 237 1309 | }, 1310 | "lote_servico": { 1311 | "pos": [ 1312 | 4, 1313 | 7 1314 | ], 1315 | "picture": "9(4)" 1316 | }, 1317 | "tipo_registro": { 1318 | "pos": [ 1319 | 8, 1320 | 8 1321 | ], 1322 | "picture": "9(1)", 1323 | "default": 3 1324 | }, 1325 | "numero_registro": { 1326 | "pos": [ 1327 | 9, 1328 | 13 1329 | ], 1330 | "picture": "9(5)" 1331 | }, 1332 | "codigo_segmento": { 1333 | "pos": [ 1334 | 14, 1335 | 14 1336 | ], 1337 | "picture": "X(1)", 1338 | "default": "O" 1339 | }, 1340 | "tipo_movimento": { 1341 | "pos": [ 1342 | 15, 1343 | 15 1344 | ], 1345 | "picture": "9(1)", 1346 | "default": "" 1347 | }, 1348 | "codigo_movimento": { 1349 | "pos": [ 1350 | 16, 1351 | 17 1352 | ], 1353 | "picture": "9(2)" 1354 | }, 1355 | "codigo_barras": { 1356 | "pos": [ 1357 | 18, 1358 | 61 1359 | ], 1360 | "picture": "9(44)" 1361 | }, 1362 | "nome_concessionaria": { 1363 | "pos": [ 1364 | 62, 1365 | 91 1366 | ], 1367 | "picture": "X(30)" 1368 | }, 1369 | "data_vencimento_nominal": { 1370 | "pos": [ 1371 | 92, 1372 | 99 1373 | ], 1374 | "picture": "9(8)" 1375 | }, 1376 | "data_pagamento": { 1377 | "pos": [ 1378 | 100, 1379 | 107 1380 | ], 1381 | "picture": "9(8)" 1382 | }, 1383 | "valor_pagamento": { 1384 | "pos": [ 1385 | 108, 1386 | 122 1387 | ], 1388 | "picture": "9(13)V9(2)" 1389 | }, 1390 | "referencia_sacado": { 1391 | "pos": [ 1392 | 123, 1393 | 142 1394 | ], 1395 | "picture": "X(20)" 1396 | }, 1397 | "nosso_numero": { 1398 | "pos": [ 1399 | 143, 1400 | 162 1401 | ], 1402 | "picture": "X(20)" 1403 | }, 1404 | "exclusivo_febraban_01": { 1405 | "pos": [ 1406 | 163, 1407 | 230 1408 | ], 1409 | "picture": "X(68)", 1410 | "default": "" 1411 | }, 1412 | "ocorrencias": { 1413 | "pos": [ 1414 | 231, 1415 | 240 1416 | ], 1417 | "picture": "X(10)" 1418 | } 1419 | } 1420 | } 1421 | } 1422 | } -------------------------------------------------------------------------------- /layouts/237/400/cobranca.json: -------------------------------------------------------------------------------- 1 | { 2 | "servico": "cobranca", 3 | "versao": "11", 4 | "layout": "400", 5 | "remessa": { 6 | "header_arquivo": { 7 | "codigo_registro": { 8 | "pos": [ 9 | 1, 10 | 1 11 | ], 12 | "picture": "9(1)", 13 | "default": 0 14 | }, 15 | "tipo_operacao": { 16 | "pos": [ 17 | 2, 18 | 2 19 | ], 20 | "picture": "9(1)", 21 | "default": 1 22 | }, 23 | "tipo_operacao_extenso": { 24 | "pos": [ 25 | 3, 26 | 9 27 | ], 28 | "picture": "X(7)", 29 | "default": "REMESSA" 30 | }, 31 | "codigo_servico": { 32 | "pos": [ 33 | 10, 34 | 11 35 | ], 36 | "picture": "9(2)", 37 | "default": "01" 38 | }, 39 | "codigo_servico_extenso": { 40 | "pos": [ 41 | 12, 42 | 26 43 | ], 44 | "picture": "X(15)", 45 | "default": "COBRANCA" 46 | }, 47 | "codigo_empresa": { 48 | "pos": [ 49 | 27, 50 | 46 51 | ], 52 | "picture": "9(20)" 53 | }, 54 | "nome_empresa": { 55 | "pos": [ 56 | 47, 57 | 76 58 | ], 59 | "picture": "X(30)" 60 | }, 61 | "codigo_banco": { 62 | "pos": [ 63 | 77, 64 | 79 65 | ], 66 | "picture": "9(3)", 67 | "default": 237 68 | }, 69 | "nome_banco": { 70 | "pos": [ 71 | 80, 72 | 94 73 | ], 74 | "picture": "X(15)", 75 | "default": "BRADESCO" 76 | }, 77 | "data_gravacao": { 78 | "pos": [ 79 | 95, 80 | 100 81 | ], 82 | "picture": "9(6)" 83 | }, 84 | "brancos_01": { 85 | "pos": [ 86 | 101, 87 | 108 88 | ], 89 | "picture": "X(8)", 90 | "default": "" 91 | }, 92 | "id_sistema": { 93 | "pos": [ 94 | 109, 95 | 110 96 | ], 97 | "picture": "X(2)", 98 | "default": "MX" 99 | }, 100 | "sequencial_arquivo": { 101 | "pos": [ 102 | 111, 103 | 117 104 | ], 105 | "picture": "9(7)" 106 | }, 107 | "brancos_02": { 108 | "pos": [ 109 | 118, 110 | 394 111 | ], 112 | "picture": "X(277)", 113 | "default": "" 114 | }, 115 | "sequencial_registro": { 116 | "pos": [ 117 | 395, 118 | 400 119 | ], 120 | "picture": "9(6)" 121 | } 122 | }, 123 | "trailer_arquivo": { 124 | "codigo_registro": { 125 | "pos": [ 126 | 1, 127 | 1 128 | ], 129 | "picture": "9(1)", 130 | "default": 9 131 | }, 132 | "brancos_01": { 133 | "pos": [ 134 | 2, 135 | 394 136 | ], 137 | "picture": "X(393)", 138 | "default": "" 139 | }, 140 | "sequencial_registro": { 141 | "pos": [ 142 | 395, 143 | 400 144 | ], 145 | "picture": "9(6)" 146 | } 147 | }, 148 | "detalhes": { 149 | "segmento_1": { 150 | "codigo_registro": { 151 | "pos": [ 152 | 1, 153 | 1 154 | ], 155 | "picture": "9(1)", 156 | "default": 1 157 | }, 158 | "agencia": { 159 | "pos": [ 160 | 2, 161 | 6 162 | ], 163 | "picture": "9(5)" 164 | }, 165 | "verificador_agencia": { 166 | "pos": [ 167 | 7, 168 | 7 169 | ], 170 | "picture": "X(1)" 171 | }, 172 | "razao_conta": { 173 | "pos": [ 174 | 8, 175 | 12 176 | ], 177 | "picture": "9(5)", 178 | "default": 0 179 | }, 180 | "conta": { 181 | "pos": [ 182 | 13, 183 | 19 184 | ], 185 | "picture": "9(7)", 186 | "default": 0 187 | }, 188 | "verificador_conta": { 189 | "pos": [ 190 | 20, 191 | 20 192 | ], 193 | "picture": "X(1)", 194 | "default": "" 195 | }, 196 | "identificacao_empresa": { 197 | "pos": [ 198 | 21, 199 | 37 200 | ], 201 | "picture": "X(17)", 202 | "default": "0" 203 | }, 204 | "numero_controle": { 205 | "pos": [ 206 | 38, 207 | 62 208 | ], 209 | "picture": "X(25)", 210 | "default": "" 211 | }, 212 | "codigo_banco": { 213 | "pos": [ 214 | 63, 215 | 65 216 | ], 217 | "picture": "9(3)", 218 | "default": 237 219 | }, 220 | "campo_multa": { 221 | "pos": [ 222 | 66, 223 | 66 224 | ], 225 | "picture": "9(1)", 226 | "default": 2 227 | }, 228 | "percentual_multa": { 229 | "pos": [ 230 | 67, 231 | 70 232 | ], 233 | "picture": "9(2)V9(2)" 234 | }, 235 | "nosso_numero": { 236 | "pos": [ 237 | 71, 238 | 81 239 | ], 240 | "picture": "9(11)" 241 | }, 242 | "verificador_nosso_numero": { 243 | "pos": [ 244 | 82, 245 | 82 246 | ], 247 | "picture": "X(1)", 248 | "default": "" 249 | }, 250 | "desconto_dia": { 251 | "pos": [ 252 | 83, 253 | 92 254 | ], 255 | "picture": "9(10)" 256 | }, 257 | "condicao_emissao": { 258 | "pos": [ 259 | 93, 260 | 93 261 | ], 262 | "picture": "9(1)", 263 | "default": 2 264 | }, 265 | "identificacao_debito_automatico": { 266 | "pos": [ 267 | 94, 268 | 94 269 | ], 270 | "picture": "X(1)", 271 | "default": "N" 272 | }, 273 | "identificacao_operacao": { 274 | "pos": [ 275 | 95, 276 | 104 277 | ], 278 | "picture": "X(10)", 279 | "default": "" 280 | }, 281 | "indicador_rateio": { 282 | "pos": [ 283 | 105, 284 | 105 285 | ], 286 | "picture": "X(1)", 287 | "default": "R" 288 | }, 289 | "aviso_debito_automatico": { 290 | "pos": [ 291 | 106, 292 | 106 293 | ], 294 | "picture": "9(1)" 295 | }, 296 | "brancos_01": { 297 | "pos": [ 298 | 107, 299 | 108 300 | ], 301 | "picture": "X(2)", 302 | "default": "" 303 | }, 304 | "identificacao_ocorrencia": { 305 | "pos": [ 306 | 109, 307 | 110 308 | ], 309 | "picture": "9(2)" 310 | }, 311 | "numero_documento": { 312 | "pos": [ 313 | 111, 314 | 120 315 | ], 316 | "picture": "X(10)" 317 | }, 318 | "vencimento": { 319 | "pos": [ 320 | 121, 321 | 126 322 | ], 323 | "picture": "9(6)" 324 | }, 325 | "valor": { 326 | "pos": [ 327 | 127, 328 | 139 329 | ], 330 | "picture": "9(11)V9(2)" 331 | }, 332 | "banco_cobranca": { 333 | "pos": [ 334 | 140, 335 | 142 336 | ], 337 | "picture": "9(3)", 338 | "default": 0 339 | }, 340 | "agencia_depositaria": { 341 | "pos": [ 342 | 143, 343 | 147 344 | ], 345 | "picture": "9(5)", 346 | "default": 0 347 | }, 348 | "especie": { 349 | "pos": [ 350 | 148, 351 | 149 352 | ], 353 | "picture": "9(2)", 354 | "default": "05" 355 | }, 356 | "aceite": { 357 | "pos": [ 358 | 150, 359 | 150 360 | ], 361 | "picture": "X(1)", 362 | "default": "N" 363 | }, 364 | "data_emissao": { 365 | "pos": [ 366 | 151, 367 | 156 368 | ], 369 | "picture": "9(6)" 370 | }, 371 | "instrucao_01": { 372 | "pos": [ 373 | 157, 374 | 158 375 | ], 376 | "picture": "9(2)" 377 | }, 378 | "instrucao_02": { 379 | "pos": [ 380 | 159, 381 | 160 382 | ], 383 | "picture": "9(2)" 384 | }, 385 | "valor_dia_atraso": { 386 | "pos": [ 387 | 161, 388 | 173 389 | ], 390 | "picture": "9(11)V9(2)" 391 | }, 392 | "data_limite_desconto": { 393 | "pos": [ 394 | 174, 395 | 179 396 | ], 397 | "picture": "9(6)" 398 | }, 399 | "valor_desconto": { 400 | "pos": [ 401 | 180, 402 | 192 403 | ], 404 | "picture": "9(11)V9(2)" 405 | }, 406 | "valor_iof": { 407 | "pos": [ 408 | 193, 409 | 205 410 | ], 411 | "picture": "9(11)V9(2)" 412 | }, 413 | "valor_abatimento": { 414 | "pos": [ 415 | 206, 416 | 218 417 | ], 418 | "picture": "9(11)V9(2)" 419 | }, 420 | "tipo_inscricao": { 421 | "pos": [ 422 | 219, 423 | 220 424 | ], 425 | "picture": "9(2)" 426 | }, 427 | "numero_inscricao": { 428 | "pos": [ 429 | 221, 430 | 234 431 | ], 432 | "picture": "9(14)" 433 | }, 434 | "nome": { 435 | "pos": [ 436 | 235, 437 | 274 438 | ], 439 | "picture": "X(40)" 440 | }, 441 | "endereco": { 442 | "pos": [ 443 | 275, 444 | 314 445 | ], 446 | "picture": "X(40)" 447 | }, 448 | "mensagem_01": { 449 | "pos": [ 450 | 315, 451 | 326 452 | ], 453 | "picture": "X(12)", 454 | "default": "" 455 | }, 456 | "cep": { 457 | "pos": [ 458 | 327, 459 | 331 460 | ], 461 | "picture": "9(5)" 462 | }, 463 | "sufixo_cep": { 464 | "pos": [ 465 | 332, 466 | 334 467 | ], 468 | "picture": "9(3)" 469 | }, 470 | "mensagem_02": { 471 | "pos": [ 472 | 335, 473 | 394 474 | ], 475 | "picture": "X(60)", 476 | "default": "" 477 | }, 478 | "sequencial_registro": { 479 | "pos": [ 480 | 395, 481 | 400 482 | ], 483 | "picture": "9(6)" 484 | } 485 | }, 486 | "segmento_2": { 487 | "codigo_registro": { 488 | "pos": [ 489 | 1, 490 | 1 491 | ], 492 | "picture": "9(1)", 493 | "default": 2 494 | }, 495 | "mensagem_01": { 496 | "pos": [ 497 | 2, 498 | 81 499 | ], 500 | "picture": "X(80)", 501 | "default": "" 502 | }, 503 | "mensagem_02": { 504 | "pos": [ 505 | 82, 506 | 161 507 | ], 508 | "picture": "X(80)", 509 | "default": "" 510 | }, 511 | "mensagem_03": { 512 | "pos": [ 513 | 162, 514 | 241 515 | ], 516 | "picture": "X(70)", 517 | "default": "" 518 | }, 519 | "mensagem_04": { 520 | "pos": [ 521 | 242, 522 | 321 523 | ], 524 | "picture": "X(80)", 525 | "default": "" 526 | }, 527 | "data_limite_desconto_02": { 528 | "pos": [ 529 | 322, 530 | 327 531 | ], 532 | "picture": "9(6)" 533 | }, 534 | "valor_desconto_02": { 535 | "pos": [ 536 | 328, 537 | 340 538 | ], 539 | "picture": "9(11)V9(2)" 540 | }, 541 | "data_limite_desconto_03": { 542 | "pos": [ 543 | 341, 544 | 346 545 | ], 546 | "picture": "9(6)" 547 | }, 548 | "valor_desconto_03": { 549 | "pos": [ 550 | 347, 551 | 359 552 | ], 553 | "picture": "9(11)V9(2)" 554 | }, 555 | "reserva": { 556 | "pos": [ 557 | 360, 558 | 366 559 | ], 560 | "picture": "X(7)", 561 | "default": "" 562 | }, 563 | "carteira": { 564 | "pos": [ 565 | 367, 566 | 369 567 | ], 568 | "picture": "9(3)" 569 | }, 570 | "agencia": { 571 | "pos": [ 572 | 370, 573 | 374 574 | ], 575 | "picture": "9(5)" 576 | }, 577 | "conta": { 578 | "pos": [ 579 | 375, 580 | 381 581 | ], 582 | "picture": "9(7)" 583 | }, 584 | "verificador_conta": { 585 | "pos": [ 586 | 382, 587 | 382 588 | ], 589 | "picture": "X(1)" 590 | }, 591 | "nosso_numero": { 592 | "pos": [ 593 | 383, 594 | 393 595 | ], 596 | "picture": "9(11)" 597 | }, 598 | "verificador_nosso_numero": { 599 | "pos": [ 600 | 394, 601 | 394 602 | ], 603 | "picture": "X(1)" 604 | }, 605 | "sequencial_registro": { 606 | "pos": [ 607 | 395, 608 | 400 609 | ], 610 | "picture": "9(6)" 611 | } 612 | }, 613 | "segmento_3": { 614 | "codigo_registro": { 615 | "pos": [ 616 | 1, 617 | 1 618 | ], 619 | "picture": "9(1)", 620 | "default": 3 621 | }, 622 | "identificacao_empresa": { 623 | "pos": [ 624 | 2, 625 | 17 626 | ], 627 | "picture": "X(16)" 628 | }, 629 | "identificacao_titulo": { 630 | "pos": [ 631 | 18, 632 | 29 633 | ], 634 | "picture": "X(12)" 635 | }, 636 | "codigo_calculo": { 637 | "pos": [ 638 | 30, 639 | 30 640 | ], 641 | "picture": "9(1)" 642 | }, 643 | "tipo_valor": { 644 | "pos": [ 645 | 31, 646 | 31 647 | ], 648 | "picture": "9(1)" 649 | }, 650 | "brancos_01": { 651 | "pos": [ 652 | 32, 653 | 43 654 | ], 655 | "picture": "X(12)", 656 | "default": "" 657 | }, 658 | "codigo_banco_01": { 659 | "pos": [ 660 | 44, 661 | 46 662 | ], 663 | "picture": "9(3)", 664 | "default": 237 665 | }, 666 | "agencia_01": { 667 | "pos": [ 668 | 47, 669 | 51 670 | ], 671 | "picture": "9(5)" 672 | }, 673 | "verificador_agencia_01": { 674 | "pos": [ 675 | 52, 676 | 52 677 | ], 678 | "picture": "X(1)" 679 | }, 680 | "conta_01": { 681 | "pos": [ 682 | 53, 683 | 64 684 | ], 685 | "picture": "9(12)" 686 | }, 687 | "verificador_conta_01": { 688 | "pos": [ 689 | 65, 690 | 65 691 | ], 692 | "picture": "X(1)" 693 | }, 694 | "valor_rateio_01": { 695 | "pos": [ 696 | 66, 697 | 80 698 | ], 699 | "picture": "9(13)V9(2)" 700 | }, 701 | "nome_01": { 702 | "pos": [ 703 | 81, 704 | 120 705 | ], 706 | "picture": "X(40)" 707 | }, 708 | "brancos_02": { 709 | "pos": [ 710 | 121, 711 | 151 712 | ], 713 | "picture": "X(31)", 714 | "default": "" 715 | }, 716 | "parcela_01": { 717 | "pos": [ 718 | 152, 719 | 157 720 | ], 721 | "picture": "9(6)" 722 | }, 723 | "floating_01": { 724 | "pos": [ 725 | 158, 726 | 160 727 | ], 728 | "picture": "9(3)" 729 | }, 730 | "codigo_banco_02": { 731 | "pos": [ 732 | 161, 733 | 163 734 | ], 735 | "picture": "9(3)", 736 | "default": 237 737 | }, 738 | "agencia_02": { 739 | "pos": [ 740 | 164, 741 | 168 742 | ], 743 | "picture": "9(5)" 744 | }, 745 | "verificador_agencia_02": { 746 | "pos": [ 747 | 169, 748 | 169 749 | ], 750 | "picture": "X(1)" 751 | }, 752 | "conta_02": { 753 | "pos": [ 754 | 170, 755 | 181 756 | ], 757 | "picture": "9(12)" 758 | }, 759 | "verificador_conta_02": { 760 | "pos": [ 761 | 182, 762 | 182 763 | ], 764 | "picture": "X(1)" 765 | }, 766 | "valor_rateio_02": { 767 | "pos": [ 768 | 183, 769 | 197 770 | ], 771 | "picture": "9(13)V9(2)" 772 | }, 773 | "nome_02": { 774 | "pos": [ 775 | 198, 776 | 237 777 | ], 778 | "picture": "X(40)" 779 | }, 780 | "brancos_03": { 781 | "pos": [ 782 | 238, 783 | 268 784 | ], 785 | "picture": "X(31)", 786 | "default": "" 787 | }, 788 | "parcela_02": { 789 | "pos": [ 790 | 269, 791 | 274 792 | ], 793 | "picture": "X(6)" 794 | }, 795 | "floating_02": { 796 | "pos": [ 797 | 275, 798 | 277 799 | ], 800 | "picture": "9(3)" 801 | }, 802 | "codigo_banco_03": { 803 | "pos": [ 804 | 278, 805 | 280 806 | ], 807 | "picture": "9(3)", 808 | "default": 237 809 | }, 810 | "agencia_03": { 811 | "pos": [ 812 | 281, 813 | 285 814 | ], 815 | "picture": "9(5)" 816 | }, 817 | "verificador_agencia_03": { 818 | "pos": [ 819 | 286, 820 | 286 821 | ], 822 | "picture": "X(1)" 823 | }, 824 | "conta_03": { 825 | "pos": [ 826 | 287, 827 | 298 828 | ], 829 | "picture": "9(12)" 830 | }, 831 | "verificador_conta_03": { 832 | "pos": [ 833 | 299, 834 | 299 835 | ], 836 | "picture": "X(1)" 837 | }, 838 | "valor_rateio_03": { 839 | "pos": [ 840 | 300, 841 | 314 842 | ], 843 | "picture": "9(13)V9(2)" 844 | }, 845 | "nome_03": { 846 | "pos": [ 847 | 315, 848 | 354 849 | ], 850 | "picture": "X(40)" 851 | }, 852 | "brancos_04": { 853 | "pos": [ 854 | 355, 855 | 385 856 | ], 857 | "picture": "X(31)", 858 | "default": "" 859 | }, 860 | "parcela_03": { 861 | "pos": [ 862 | 386, 863 | 391 864 | ], 865 | "picture": "X(6)" 866 | }, 867 | "floating_03": { 868 | "pos": [ 869 | 392, 870 | 394 871 | ], 872 | "picture": "9(3)" 873 | }, 874 | "sequencial_registro": { 875 | "pos": [ 876 | 395, 877 | 400 878 | ], 879 | "picture": "9(6)" 880 | } 881 | }, 882 | "segmento_7": { 883 | "codigo_registro": { 884 | "pos": [ 885 | 1, 886 | 1 887 | ], 888 | "picture": "9(1)", 889 | "default": 7 890 | }, 891 | "endereco": { 892 | "pos": [ 893 | 2, 894 | 46 895 | ], 896 | "picture": "X(45)" 897 | }, 898 | "cep": { 899 | "pos": [ 900 | 47, 901 | 51 902 | ], 903 | "picture": "9(5)" 904 | }, 905 | "sufixo_cep": { 906 | "pos": [ 907 | 52, 908 | 54 909 | ], 910 | "picture": "9(3)" 911 | }, 912 | "cidade": { 913 | "pos": [ 914 | 55, 915 | 74 916 | ], 917 | "picture": "X(20)" 918 | }, 919 | "uf": { 920 | "pos": [ 921 | 75, 922 | 76 923 | ], 924 | "picture": "X(2)" 925 | }, 926 | "reserva_01": { 927 | "pos": [ 928 | 77, 929 | 366 930 | ], 931 | "picture": "X(290)", 932 | "default": "" 933 | }, 934 | "carteira": { 935 | "pos": [ 936 | 367, 937 | 369 938 | ], 939 | "picture": "9(3)" 940 | }, 941 | "agencia": { 942 | "pos": [ 943 | 370, 944 | 374 945 | ], 946 | "picture": "9(5)" 947 | }, 948 | "conta": { 949 | "pos": [ 950 | 375, 951 | 381 952 | ], 953 | "picture": "9(7)" 954 | }, 955 | "digito_conta": { 956 | "pos": [ 957 | 382, 958 | 382 959 | ], 960 | "picture": "X(1)" 961 | }, 962 | "nosso_numero": { 963 | "pos": [ 964 | 383, 965 | 393 966 | ], 967 | "picture": "9(11)" 968 | }, 969 | "dac_nosso_numero": { 970 | "pos": [ 971 | 394, 972 | 394 973 | ], 974 | "picture": "X(1)" 975 | }, 976 | "sequencial_registro": { 977 | "pos": [ 978 | 395, 979 | 400 980 | ], 981 | "picture": "9(6)" 982 | } 983 | } 984 | } 985 | }, 986 | "retorno": { 987 | "header_arquivo": { 988 | "codigo_registro": { 989 | "pos": [ 990 | 1, 991 | 1 992 | ], 993 | "picture": "9(1)", 994 | "default": 0 995 | }, 996 | "tipo_operacao": { 997 | "pos": [ 998 | 2, 999 | 2 1000 | ], 1001 | "picture": "9(1)", 1002 | "default": 2 1003 | }, 1004 | "tipo_operacao_extenso": { 1005 | "pos": [ 1006 | 3, 1007 | 9 1008 | ], 1009 | "picture": "X(7)", 1010 | "default": "RETORNO" 1011 | }, 1012 | "codigo_servico": { 1013 | "pos": [ 1014 | 10, 1015 | 11 1016 | ], 1017 | "picture": "9(2)", 1018 | "default": "01" 1019 | }, 1020 | "codigo_servico_extenso": { 1021 | "pos": [ 1022 | 12, 1023 | 26 1024 | ], 1025 | "picture": "X(15)", 1026 | "default": "COBRANCA" 1027 | }, 1028 | "codigo_empresa": { 1029 | "pos": [ 1030 | 27, 1031 | 46 1032 | ], 1033 | "picture": "9(20)" 1034 | }, 1035 | "nome_empresa": { 1036 | "pos": [ 1037 | 47, 1038 | 76 1039 | ], 1040 | "picture": "X(30)" 1041 | }, 1042 | "codigo_banco": { 1043 | "pos": [ 1044 | 77, 1045 | 79 1046 | ], 1047 | "picture": "9(3)", 1048 | "default": 237 1049 | }, 1050 | "nome_banco": { 1051 | "pos": [ 1052 | 80, 1053 | 94 1054 | ], 1055 | "picture": "X(15)", 1056 | "default": "BRADESCO" 1057 | }, 1058 | "data_gravacao": { 1059 | "pos": [ 1060 | 95, 1061 | 100 1062 | ], 1063 | "picture": "9(6)" 1064 | }, 1065 | "densidade_gravacao": { 1066 | "pos": [ 1067 | 101, 1068 | 108 1069 | ], 1070 | "picture": "9(8)", 1071 | "default": 1600000 1072 | }, 1073 | "aviso_bancario": { 1074 | "pos": [ 1075 | 109, 1076 | 113 1077 | ], 1078 | "picture": "9(5)" 1079 | }, 1080 | "brancos_01": { 1081 | "pos": [ 1082 | 114, 1083 | 379 1084 | ], 1085 | "picture": "X(266)", 1086 | "default": "" 1087 | }, 1088 | "data_credito": { 1089 | "pos": [ 1090 | 380, 1091 | 385 1092 | ], 1093 | "picture": "9(6)" 1094 | }, 1095 | "brancos_02": { 1096 | "pos": [ 1097 | 386, 1098 | 394 1099 | ], 1100 | "picture": "X(9)", 1101 | "default": "" 1102 | }, 1103 | "sequencial_registro": { 1104 | "pos": [ 1105 | 395, 1106 | 400 1107 | ], 1108 | "picture": "9(6)" 1109 | } 1110 | }, 1111 | "trailer_arquivo": { 1112 | "codigo_registro": { 1113 | "pos": [ 1114 | 1, 1115 | 1 1116 | ], 1117 | "picture": "9(1)", 1118 | "default": 9 1119 | }, 1120 | "identificacao_retorno": { 1121 | "pos": [ 1122 | 2, 1123 | 2 1124 | ], 1125 | "picture": "9(1)", 1126 | "default": 2 1127 | }, 1128 | "tipo_registro": { 1129 | "pos": [ 1130 | 3, 1131 | 4 1132 | ], 1133 | "picture": "9(2)", 1134 | "default": "01" 1135 | }, 1136 | "codigo_banco": { 1137 | "pos": [ 1138 | 5, 1139 | 7 1140 | ], 1141 | "picture": "9(3)", 1142 | "default": 237 1143 | }, 1144 | "brancos_01": { 1145 | "pos": [ 1146 | 8, 1147 | 17 1148 | ], 1149 | "picture": "X(10)", 1150 | "default": "" 1151 | }, 1152 | "quantidade_cobranca": { 1153 | "pos": [ 1154 | 18, 1155 | 25 1156 | ], 1157 | "picture": "9(8)" 1158 | }, 1159 | "valor_cobranca": { 1160 | "pos": [ 1161 | 26, 1162 | 39 1163 | ], 1164 | "picture": "9(12)V9(2)" 1165 | }, 1166 | "aviso_bancario": { 1167 | "pos": [ 1168 | 40, 1169 | 47 1170 | ], 1171 | "picture": "9(8)" 1172 | }, 1173 | "brancos_02": { 1174 | "pos": [ 1175 | 48, 1176 | 57 1177 | ], 1178 | "picture": "X(10)", 1179 | "default": "" 1180 | }, 1181 | "quantidade_ocorrencia_02": { 1182 | "pos": [ 1183 | 58, 1184 | 62 1185 | ], 1186 | "picture": "9(5)" 1187 | }, 1188 | "valor_ocorrencia_02": { 1189 | "pos": [ 1190 | 63, 1191 | 74 1192 | ], 1193 | "picture": "9(10)V9(2)" 1194 | }, 1195 | "valor_ocorrencia_06": { 1196 | "pos": [ 1197 | 75, 1198 | 86 1199 | ], 1200 | "picture": "9(10)V9(2)" 1201 | }, 1202 | "quantidade_ocorrencia_06": { 1203 | "pos": [ 1204 | 87, 1205 | 91 1206 | ], 1207 | "picture": "9(5)" 1208 | }, 1209 | "valor_registros_ocorrencia_06": { 1210 | "pos": [ 1211 | 92, 1212 | 103 1213 | ], 1214 | "picture": "9(10)V9(2)" 1215 | }, 1216 | "quantidade_ocorrencia_09_10": { 1217 | "pos": [ 1218 | 104, 1219 | 108 1220 | ], 1221 | "picture": "9(5)" 1222 | }, 1223 | "valor_ocorrencia_09_10": { 1224 | "pos": [ 1225 | 109, 1226 | 120 1227 | ], 1228 | "picture": "9(10)V9(2)" 1229 | }, 1230 | "quantidade_ocorrencia_13": { 1231 | "pos": [ 1232 | 121, 1233 | 125 1234 | ], 1235 | "picture": "9(5)" 1236 | }, 1237 | "valor_ocorrencia_13": { 1238 | "pos": [ 1239 | 126, 1240 | 137 1241 | ], 1242 | "picture": "9(10)V9(2)" 1243 | }, 1244 | "quantidade_ocorrencia_14": { 1245 | "pos": [ 1246 | 138, 1247 | 142 1248 | ], 1249 | "picture": "9(5)" 1250 | }, 1251 | "valor_ocorrencia_14": { 1252 | "pos": [ 1253 | 143, 1254 | 154 1255 | ], 1256 | "picture": "9(10)V9(2)" 1257 | }, 1258 | "quantidade_ocorrencia_12": { 1259 | "pos": [ 1260 | 155, 1261 | 159 1262 | ], 1263 | "picture": "9(5)" 1264 | }, 1265 | "valor_ocorrencia_12": { 1266 | "pos": [ 1267 | 160, 1268 | 171 1269 | ], 1270 | "picture": "9(10)V9(2)" 1271 | }, 1272 | "quantidade_ocorrencia_19": { 1273 | "pos": [ 1274 | 172, 1275 | 176 1276 | ], 1277 | "picture": "9(5)" 1278 | }, 1279 | "valor_ocorrencia_19": { 1280 | "pos": [ 1281 | 177, 1282 | 188 1283 | ], 1284 | "picture": "9(10)V9(2)" 1285 | }, 1286 | "brancos_03": { 1287 | "pos": [ 1288 | 189, 1289 | 362 1290 | ], 1291 | "picture": "X(174)", 1292 | "default": "" 1293 | }, 1294 | "total_rateios": { 1295 | "pos": [ 1296 | 363, 1297 | 377 1298 | ], 1299 | "picture": "9(13)V9(2)" 1300 | }, 1301 | "quantidade_rateios": { 1302 | "pos": [ 1303 | 378, 1304 | 385 1305 | ], 1306 | "picture": "9(8)" 1307 | }, 1308 | "brancos_04": { 1309 | "pos": [ 1310 | 386, 1311 | 394 1312 | ], 1313 | "picture": "X(9)", 1314 | "default": "" 1315 | }, 1316 | "sequencial_registro": { 1317 | "pos": [ 1318 | 395, 1319 | 400 1320 | ], 1321 | "picture": "9(6)" 1322 | } 1323 | }, 1324 | "detalhes": { 1325 | "segmento_1": { 1326 | "codigo_registro": { 1327 | "pos": [ 1328 | 1, 1329 | 1 1330 | ], 1331 | "picture": "9(1)", 1332 | "default": 1 1333 | }, 1334 | "tipo_inscricao": { 1335 | "pos": [ 1336 | 2, 1337 | 3 1338 | ], 1339 | "picture": "9(2)" 1340 | }, 1341 | "numero_inscricao": { 1342 | "pos": [ 1343 | 4, 1344 | 17 1345 | ], 1346 | "picture": "9(14)" 1347 | }, 1348 | "zeros_01": { 1349 | "pos": [ 1350 | 18, 1351 | 20 1352 | ], 1353 | "picture": "X(3)", 1354 | "default": "0" 1355 | }, 1356 | "identificacao_empresa": { 1357 | "pos": [ 1358 | 21, 1359 | 37 1360 | ], 1361 | "picture": "X(17)" 1362 | }, 1363 | "numero_controle": { 1364 | "pos": [ 1365 | 38, 1366 | 62 1367 | ], 1368 | "picture": "X(25)" 1369 | }, 1370 | "zeros_02": { 1371 | "pos": [ 1372 | 63, 1373 | 70 1374 | ], 1375 | "picture": "9(8)", 1376 | "default": 0 1377 | }, 1378 | "identificacao_titulo_01": { 1379 | "pos": [ 1380 | 71, 1381 | 82 1382 | ], 1383 | "picture": "X(12)" 1384 | }, 1385 | "uso_banco_01": { 1386 | "pos": [ 1387 | 83, 1388 | 92 1389 | ], 1390 | "picture": "9(10)", 1391 | "default": 0 1392 | }, 1393 | "uso_banco_02": { 1394 | "pos": [ 1395 | 93, 1396 | 104 1397 | ], 1398 | "picture": "X(12)", 1399 | "default": "0" 1400 | }, 1401 | "indicador_rateio": { 1402 | "pos": [ 1403 | 105, 1404 | 105 1405 | ], 1406 | "picture": "X(1)", 1407 | "default": "R" 1408 | }, 1409 | "zeros_03": { 1410 | "pos": [ 1411 | 106, 1412 | 107 1413 | ], 1414 | "picture": "9(2)", 1415 | "default": 0 1416 | }, 1417 | "carteira": { 1418 | "pos": [ 1419 | 108, 1420 | 108 1421 | ], 1422 | "picture": "9(1)" 1423 | }, 1424 | "identificacao_ocorrencia": { 1425 | "pos": [ 1426 | 109, 1427 | 110 1428 | ], 1429 | "picture": "9(2)" 1430 | }, 1431 | "data_ocorrencia": { 1432 | "pos": [ 1433 | 111, 1434 | 116 1435 | ], 1436 | "picture": "9(6)" 1437 | }, 1438 | "numero_documento": { 1439 | "pos": [ 1440 | 117, 1441 | 126 1442 | ], 1443 | "picture": "X(10)" 1444 | }, 1445 | "identificacao_titulo_02": { 1446 | "pos": [ 1447 | 127, 1448 | 146 1449 | ], 1450 | "picture": "X(20)" 1451 | }, 1452 | "valor": { 1453 | "pos": [ 1454 | 147, 1455 | 152 1456 | ], 1457 | "picture": "9(6)" 1458 | }, 1459 | "banco_cobrador": { 1460 | "pos": [ 1461 | 166, 1462 | 168 1463 | ], 1464 | "picture": "9(3)" 1465 | }, 1466 | "agencia_cobradora": { 1467 | "pos": [ 1468 | 169, 1469 | 173 1470 | ], 1471 | "picture": "9(5)" 1472 | }, 1473 | "especie": { 1474 | "pos": [ 1475 | 174, 1476 | 175 1477 | ], 1478 | "picture": "X(2)", 1479 | "default": "" 1480 | }, 1481 | "despesas_cobranca": { 1482 | "pos": [ 1483 | 176, 1484 | 188 1485 | ], 1486 | "picture": "9(11)V9(2)" 1487 | }, 1488 | "outras_despesas_custas": { 1489 | "pos": [ 1490 | 189, 1491 | 201 1492 | ], 1493 | "picture": "9(11)V9(2)" 1494 | }, 1495 | "juros_atraso": { 1496 | "pos": [ 1497 | 202, 1498 | 214 1499 | ], 1500 | "picture": "9(11)V9(2)", 1501 | "default": 0 1502 | }, 1503 | "iof_devido": { 1504 | "pos": [ 1505 | 215, 1506 | 227 1507 | ], 1508 | "picture": "9(11)V9(2)" 1509 | }, 1510 | "abatimento": { 1511 | "pos": [ 1512 | 228, 1513 | 240 1514 | ], 1515 | "picture": "9(11)V9(2)" 1516 | }, 1517 | "desconto": { 1518 | "pos": [ 1519 | 241, 1520 | 253 1521 | ], 1522 | "picture": "9(11)V9(2)" 1523 | }, 1524 | "valor_pago": { 1525 | "pos": [ 1526 | 254, 1527 | 266 1528 | ], 1529 | "picture": "9(11)V9(2)" 1530 | }, 1531 | "juros_mora": { 1532 | "pos": [ 1533 | 267, 1534 | 279 1535 | ], 1536 | "picture": "9(11)V9(2)" 1537 | }, 1538 | "outros_creditos": { 1539 | "pos": [ 1540 | 280, 1541 | 292 1542 | ], 1543 | "picture": "9(11)V9(2)", 1544 | "default": 0 1545 | }, 1546 | "brancos_01": { 1547 | "pos": [ 1548 | 293, 1549 | 294 1550 | ], 1551 | "picture": "X(2)", 1552 | "default": "" 1553 | }, 1554 | "motivo_codigo_ocorrencia": { 1555 | "pos": [ 1556 | 295, 1557 | 295 1558 | ], 1559 | "picture": "X(1)" 1560 | }, 1561 | "data_credito": { 1562 | "pos": [ 1563 | 296, 1564 | 301 1565 | ], 1566 | "picture": "9(6)" 1567 | }, 1568 | "origem_pagamento": { 1569 | "pos": [ 1570 | 302, 1571 | 304 1572 | ], 1573 | "picture": "9(3)" 1574 | }, 1575 | "brancos_02": { 1576 | "pos": [ 1577 | 305, 1578 | 314 1579 | ], 1580 | "picture": "X(10)", 1581 | "default": "" 1582 | }, 1583 | "codigo_banco": { 1584 | "pos": [ 1585 | 315, 1586 | 318 1587 | ], 1588 | "picture": "9(4)" 1589 | }, 1590 | "motivos_rejeicao": { 1591 | "pos": [ 1592 | 319, 1593 | 328 1594 | ], 1595 | "picture": "9(10)" 1596 | }, 1597 | "brancos_03": { 1598 | "pos": [ 1599 | 329, 1600 | 368 1601 | ], 1602 | "picture": "X(40)", 1603 | "default": "" 1604 | }, 1605 | "numero_cartorio": { 1606 | "pos": [ 1607 | 369, 1608 | 370 1609 | ], 1610 | "picture": "9(2)" 1611 | }, 1612 | "numero_protocolo": { 1613 | "pos": [ 1614 | 371, 1615 | 380 1616 | ], 1617 | "picture": "X(10)" 1618 | }, 1619 | "brancos_04": { 1620 | "pos": [ 1621 | 381, 1622 | 394 1623 | ], 1624 | "picture": "X(14)", 1625 | "default": "" 1626 | }, 1627 | "sequencial_registro": { 1628 | "pos": [ 1629 | 395, 1630 | 400 1631 | ], 1632 | "picture": "9(6)" 1633 | } 1634 | }, 1635 | "segmento_3": { 1636 | "codigo_registro": { 1637 | "pos": [ 1638 | 1, 1639 | 1 1640 | ], 1641 | "picture": "9(1)", 1642 | "default": 3 1643 | }, 1644 | "identificacao_empresa": { 1645 | "pos": [ 1646 | 2, 1647 | 17 1648 | ], 1649 | "picture": "X(16)" 1650 | }, 1651 | "identificacao_titulo": { 1652 | "pos": [ 1653 | 18, 1654 | 29 1655 | ], 1656 | "picture": "X(12)" 1657 | }, 1658 | "codigo_calculo": { 1659 | "pos": [ 1660 | 30, 1661 | 30 1662 | ], 1663 | "picture": "9(1)" 1664 | }, 1665 | "tipo_valor": { 1666 | "pos": [ 1667 | 31, 1668 | 31 1669 | ], 1670 | "picture": "9(1)" 1671 | }, 1672 | "brancos_01": { 1673 | "pos": [ 1674 | 32, 1675 | 43 1676 | ], 1677 | "picture": "X(12)", 1678 | "default": "" 1679 | }, 1680 | "codigo_banco_01": { 1681 | "pos": [ 1682 | 44, 1683 | 46 1684 | ], 1685 | "picture": "9(3)", 1686 | "default": 237 1687 | }, 1688 | "agencia_01": { 1689 | "pos": [ 1690 | 47, 1691 | 51 1692 | ], 1693 | "picture": "9(5)" 1694 | }, 1695 | "verificador_agencia_01": { 1696 | "pos": [ 1697 | 52, 1698 | 52 1699 | ], 1700 | "picture": "X(1)" 1701 | }, 1702 | "conta_01": { 1703 | "pos": [ 1704 | 53, 1705 | 64 1706 | ], 1707 | "picture": "9(12)" 1708 | }, 1709 | "verificador_conta_01": { 1710 | "pos": [ 1711 | 65, 1712 | 65 1713 | ], 1714 | "picture": "X(1)" 1715 | }, 1716 | "valor_rateio_01": { 1717 | "pos": [ 1718 | 66, 1719 | 80 1720 | ], 1721 | "picture": "9(13)V9(2)" 1722 | }, 1723 | "nome_01": { 1724 | "pos": [ 1725 | 81, 1726 | 120 1727 | ], 1728 | "picture": "X(40)" 1729 | }, 1730 | "brancos_02": { 1731 | "pos": [ 1732 | 121, 1733 | 141 1734 | ], 1735 | "picture": "X(21)", 1736 | "default": "" 1737 | }, 1738 | "parcela_01": { 1739 | "pos": [ 1740 | 142, 1741 | 147 1742 | ], 1743 | "picture": "X(6)" 1744 | }, 1745 | "floating_01": { 1746 | "pos": [ 1747 | 148, 1748 | 150 1749 | ], 1750 | "picture": "9(3)" 1751 | }, 1752 | "data_credito_01": { 1753 | "pos": [ 1754 | 151, 1755 | 158 1756 | ], 1757 | "picture": "9(8)" 1758 | }, 1759 | "status_ocorrencia_01": { 1760 | "pos": [ 1761 | 159, 1762 | 160 1763 | ], 1764 | "picture": "9(2)" 1765 | }, 1766 | "codigo_banco_02": { 1767 | "pos": [ 1768 | 161, 1769 | 163 1770 | ], 1771 | "picture": "9(3)", 1772 | "default": 237 1773 | }, 1774 | "agencia_02": { 1775 | "pos": [ 1776 | 164, 1777 | 168 1778 | ], 1779 | "picture": "9(5)" 1780 | }, 1781 | "verificador_agencia_02": { 1782 | "pos": [ 1783 | 169, 1784 | 169 1785 | ], 1786 | "picture": "X(1)" 1787 | }, 1788 | "conta_02": { 1789 | "pos": [ 1790 | 170, 1791 | 181 1792 | ], 1793 | "picture": "9(12)" 1794 | }, 1795 | "verificador_conta_02": { 1796 | "pos": [ 1797 | 182, 1798 | 182 1799 | ], 1800 | "picture": "X(1)" 1801 | }, 1802 | "valor_rateio_02": { 1803 | "pos": [ 1804 | 183, 1805 | 197 1806 | ], 1807 | "picture": "9(13)V9(2)" 1808 | }, 1809 | "nome_02": { 1810 | "pos": [ 1811 | 198, 1812 | 237 1813 | ], 1814 | "picture": "X(40)" 1815 | }, 1816 | "brancos_03": { 1817 | "pos": [ 1818 | 238, 1819 | 258 1820 | ], 1821 | "picture": "X(21)", 1822 | "default": "" 1823 | }, 1824 | "parcela_02": { 1825 | "pos": [ 1826 | 259, 1827 | 264 1828 | ], 1829 | "picture": "X(6)" 1830 | }, 1831 | "floating_02": { 1832 | "pos": [ 1833 | 265, 1834 | 267 1835 | ], 1836 | "picture": "9(3)" 1837 | }, 1838 | "data_credito_02": { 1839 | "pos": [ 1840 | 268, 1841 | 275 1842 | ], 1843 | "picture": "9(8)" 1844 | }, 1845 | "status_ocorrencia_02": { 1846 | "pos": [ 1847 | 276, 1848 | 277 1849 | ], 1850 | "picture": "9(2)" 1851 | }, 1852 | "codigo_banco_03": { 1853 | "pos": [ 1854 | 278, 1855 | 280 1856 | ], 1857 | "picture": "9(3)", 1858 | "default": 237 1859 | }, 1860 | "agencia_03": { 1861 | "pos": [ 1862 | 281, 1863 | 285 1864 | ], 1865 | "picture": "9(5)" 1866 | }, 1867 | "verificador_agencia_03": { 1868 | "pos": [ 1869 | 286, 1870 | 286 1871 | ], 1872 | "picture": "X(1)" 1873 | }, 1874 | "conta_03": { 1875 | "pos": [ 1876 | 287, 1877 | 298 1878 | ], 1879 | "picture": "9(12)" 1880 | }, 1881 | "verificador_conta_03": { 1882 | "pos": [ 1883 | 299, 1884 | 299 1885 | ], 1886 | "picture": "X(1)" 1887 | }, 1888 | "valor_rateio_03": { 1889 | "pos": [ 1890 | 300, 1891 | 314 1892 | ], 1893 | "picture": "9(13)V9(2)" 1894 | }, 1895 | "nome_03": { 1896 | "pos": [ 1897 | 315, 1898 | 354 1899 | ], 1900 | "picture": "X(40)" 1901 | }, 1902 | "brancos_04": { 1903 | "pos": [ 1904 | 355, 1905 | 375 1906 | ], 1907 | "picture": "X(21)", 1908 | "default": "" 1909 | }, 1910 | "parcela_03": { 1911 | "pos": [ 1912 | 376, 1913 | 381 1914 | ], 1915 | "picture": "X(6)" 1916 | }, 1917 | "floating_03": { 1918 | "pos": [ 1919 | 382, 1920 | 384 1921 | ], 1922 | "picture": "9(3)" 1923 | }, 1924 | "data_credito_03": { 1925 | "pos": [ 1926 | 385, 1927 | 392 1928 | ], 1929 | "picture": "9(8)" 1930 | }, 1931 | "status_ocorrencia_03": { 1932 | "pos": [ 1933 | 393, 1934 | 394 1935 | ], 1936 | "picture": "9(2)" 1937 | }, 1938 | "sequencial_registro": { 1939 | "pos": [ 1940 | 395, 1941 | 400 1942 | ], 1943 | "picture": "9(6)" 1944 | } 1945 | } 1946 | } 1947 | } 1948 | } -------------------------------------------------------------------------------- /layouts/237/240/multipag_transferencias.json: -------------------------------------------------------------------------------- 1 | { 2 | "servico": "multipag_transferencias", 3 | "versao": "02", 4 | "layout": "240", 5 | "remessa": { 6 | "header_arquivo": { 7 | "codigo_banco": { 8 | "pos": [ 9 | 1, 10 | 3 11 | ], 12 | "picture": "9(3)", 13 | "default": 237 14 | }, 15 | "lote_servico": { 16 | "pos": [ 17 | 4, 18 | 7 19 | ], 20 | "picture": "9(4)", 21 | "default": 0 22 | }, 23 | "tipo_registro": { 24 | "pos": [ 25 | 8, 26 | 8 27 | ], 28 | "picture": "9(1)", 29 | "default": 0 30 | }, 31 | "exclusivo_febraban_01": { 32 | "pos": [ 33 | 9, 34 | 17 35 | ], 36 | "picture": "X(9)", 37 | "default": "" 38 | }, 39 | "tipo_inscricao": { 40 | "pos": [ 41 | 18, 42 | 18 43 | ], 44 | "picture": "9(1)" 45 | }, 46 | "numero_inscricao": { 47 | "pos": [ 48 | 19, 49 | 32 50 | ], 51 | "picture": "9(14)" 52 | }, 53 | "codigo_convenio": { 54 | "pos": [ 55 | 33, 56 | 52 57 | ], 58 | "picture": "X(20)" 59 | }, 60 | "agencia": { 61 | "pos": [ 62 | 53, 63 | 57 64 | ], 65 | "picture": "9(5)" 66 | }, 67 | "verificador_agencia": { 68 | "pos": [ 69 | 58, 70 | 58 71 | ], 72 | "picture": "X(1)" 73 | }, 74 | "conta": { 75 | "pos": [ 76 | 59, 77 | 70 78 | ], 79 | "picture": "9(12)" 80 | }, 81 | "verificador_conta": { 82 | "pos": [ 83 | 71, 84 | 71 85 | ], 86 | "picture": "X(1)" 87 | }, 88 | "verificador_agencia_conta": { 89 | "pos": [ 90 | 72, 91 | 72 92 | ], 93 | "picture": "X(1)", 94 | "default": "" 95 | }, 96 | "nome_empresa": { 97 | "pos": [ 98 | 73, 99 | 102 100 | ], 101 | "picture": "X(30)" 102 | }, 103 | "nome_banco": { 104 | "pos": [ 105 | 103, 106 | 132 107 | ], 108 | "picture": "X(30)", 109 | "default": "BANCO BRADESCO S.A." 110 | }, 111 | "exclusivo_febraban_02": { 112 | "pos": [ 113 | 133, 114 | 142 115 | ], 116 | "picture": "X(10)", 117 | "default": "" 118 | }, 119 | "codigo_remessa_retorno": { 120 | "pos": [ 121 | 143, 122 | 143 123 | ], 124 | "picture": "9(1)" 125 | }, 126 | "data_geracao": { 127 | "pos": [ 128 | 144, 129 | 151 130 | ], 131 | "picture": "9(8)" 132 | }, 133 | "hora_geracao": { 134 | "pos": [ 135 | 152, 136 | 157 137 | ], 138 | "picture": "9(6)" 139 | }, 140 | "numero_sequencial": { 141 | "pos": [ 142 | 158, 143 | 163 144 | ], 145 | "picture": "9(6)" 146 | }, 147 | "versao_layout": { 148 | "pos": [ 149 | 164, 150 | 166 151 | ], 152 | "picture": "9(3)", 153 | "default": 89 154 | }, 155 | "densidade_gravacao": { 156 | "pos": [ 157 | 167, 158 | 171 159 | ], 160 | "picture": "9(5)", 161 | "default": 0 162 | }, 163 | "reservado_banco_01": { 164 | "pos": [ 165 | 172, 166 | 191 167 | ], 168 | "picture": "X(20)", 169 | "default": "" 170 | }, 171 | "reservado_empresa_01": { 172 | "pos": [ 173 | 192, 174 | 211 175 | ], 176 | "picture": "X(20)", 177 | "default": "" 178 | }, 179 | "exclusivo_febraban_03": { 180 | "pos": [ 181 | 212, 182 | 240 183 | ], 184 | "picture": "X(29)", 185 | "default": "" 186 | } 187 | }, 188 | "trailer_arquivo": { 189 | "codigo_banco": { 190 | "pos": [ 191 | 1, 192 | 3 193 | ], 194 | "picture": "9(3)", 195 | "default": 237 196 | }, 197 | "lote_servico": { 198 | "pos": [ 199 | 4, 200 | 7 201 | ], 202 | "picture": "9(4)", 203 | "default": "9999" 204 | }, 205 | "tipo_registro": { 206 | "pos": [ 207 | 8, 208 | 8 209 | ], 210 | "picture": "9(1)", 211 | "default": 9 212 | }, 213 | "exclusivo_febraban_01": { 214 | "pos": [ 215 | 9, 216 | 17 217 | ], 218 | "picture": "X(9)", 219 | "default": "" 220 | }, 221 | "quantidade_lotes": { 222 | "pos": [ 223 | 18, 224 | 23 225 | ], 226 | "picture": "9(6)" 227 | }, 228 | "quantidade_registros": { 229 | "pos": [ 230 | 24, 231 | 29 232 | ], 233 | "picture": "9(6)" 234 | }, 235 | "quantidade_contas": { 236 | "pos": [ 237 | 30, 238 | 35 239 | ], 240 | "picture": "9(6)" 241 | }, 242 | "exclusivo_febraban_02": { 243 | "pos": [ 244 | 36, 245 | 240 246 | ], 247 | "picture": "X(205)", 248 | "default": "" 249 | } 250 | }, 251 | "header_lote": { 252 | "codigo_banco": { 253 | "pos": [ 254 | 1, 255 | 3 256 | ], 257 | "picture": "9(3)", 258 | "default": 237 259 | }, 260 | "lote_servico": { 261 | "pos": [ 262 | 4, 263 | 7 264 | ], 265 | "picture": "9(4)" 266 | }, 267 | "tipo_registro": { 268 | "pos": [ 269 | 8, 270 | 8 271 | ], 272 | "picture": "9(1)", 273 | "default": 1 274 | }, 275 | "tipo_operacao": { 276 | "pos": [ 277 | 9, 278 | 9 279 | ], 280 | "picture": "X(1)", 281 | "default": "C" 282 | }, 283 | "tipo_servico": { 284 | "pos": [ 285 | 10, 286 | 11 287 | ], 288 | "picture": "9(2)" 289 | }, 290 | "forma_lancamento": { 291 | "pos": [ 292 | 12, 293 | 13 294 | ], 295 | "picture": "9(2)" 296 | }, 297 | "versao_layout": { 298 | "pos": [ 299 | 14, 300 | 16 301 | ], 302 | "picture": "9(3)", 303 | "default": 45 304 | }, 305 | "exclusivo_febraban_01": { 306 | "pos": [ 307 | 17, 308 | 17 309 | ], 310 | "picture": "X(1)", 311 | "default": "" 312 | }, 313 | "tipo_inscricao": { 314 | "pos": [ 315 | 18, 316 | 18 317 | ], 318 | "picture": "9(1)" 319 | }, 320 | "numero_inscricao": { 321 | "pos": [ 322 | 19, 323 | 32 324 | ], 325 | "picture": "9(14)" 326 | }, 327 | "codigo_convenio": { 328 | "pos": [ 329 | 33, 330 | 52 331 | ], 332 | "picture": "X(20)" 333 | }, 334 | "agencia": { 335 | "pos": [ 336 | 53, 337 | 57 338 | ], 339 | "picture": "9(5)" 340 | }, 341 | "verificador_agencia": { 342 | "pos": [ 343 | 58, 344 | 58 345 | ], 346 | "picture": "X(1)" 347 | }, 348 | "conta": { 349 | "pos": [ 350 | 59, 351 | 70 352 | ], 353 | "picture": "9(12)" 354 | }, 355 | "verificador_conta": { 356 | "pos": [ 357 | 71, 358 | 71 359 | ], 360 | "picture": "X(1)" 361 | }, 362 | "verificador_agencia_conta": { 363 | "pos": [ 364 | 72, 365 | 72 366 | ], 367 | "picture": "X(1)" 368 | }, 369 | "nome_empresa": { 370 | "pos": [ 371 | 73, 372 | 102 373 | ], 374 | "picture": "X(30)" 375 | }, 376 | "mensagem_01": { 377 | "pos": [ 378 | 103, 379 | 142 380 | ], 381 | "picture": "X(40)", 382 | "default": "" 383 | }, 384 | "logradouro": { 385 | "pos": [ 386 | 143, 387 | 172 388 | ], 389 | "picture": "X(30)" 390 | }, 391 | "numero": { 392 | "pos": [ 393 | 173, 394 | 177 395 | ], 396 | "picture": "9(5)" 397 | }, 398 | "complemento": { 399 | "pos": [ 400 | 178, 401 | 192 402 | ], 403 | "picture": "X(15)" 404 | }, 405 | "cidade": { 406 | "pos": [ 407 | 193, 408 | 212 409 | ], 410 | "picture": "X(20)" 411 | }, 412 | "cep": { 413 | "pos": [ 414 | 213, 415 | 217 416 | ], 417 | "picture": "9(5)" 418 | }, 419 | "sufixo_cep": { 420 | "pos": [ 421 | 218, 422 | 220 423 | ], 424 | "picture": "X(3)" 425 | }, 426 | "sigla_uf": { 427 | "pos": [ 428 | 221, 429 | 222 430 | ], 431 | "picture": "X(2)" 432 | }, 433 | "indicativo_forma_pagamento": { 434 | "pos": [ 435 | 223, 436 | 224 437 | ], 438 | "picture": "9(2)", 439 | "default": 1 440 | }, 441 | "exclusivo_febraban_02": { 442 | "pos": [ 443 | 225, 444 | 230 445 | ], 446 | "picture": "X(6)", 447 | "default": "" 448 | }, 449 | "ocorrencias": { 450 | "pos": [ 451 | 231, 452 | 240 453 | ], 454 | "picture": "X(10)" 455 | } 456 | }, 457 | "trailer_lote": { 458 | "codigo_banco": { 459 | "pos": [ 460 | 1, 461 | 3 462 | ], 463 | "picture": "9(3)", 464 | "default": 237 465 | }, 466 | "lote_servico": { 467 | "pos": [ 468 | 4, 469 | 7 470 | ], 471 | "picture": "9(4)" 472 | }, 473 | "tipo_registro": { 474 | "pos": [ 475 | 8, 476 | 8 477 | ], 478 | "picture": "9(1)", 479 | "default": 5 480 | }, 481 | "exclusivo_febraban_01": { 482 | "pos": [ 483 | 9, 484 | 17 485 | ], 486 | "picture": "X(9)", 487 | "default": "" 488 | }, 489 | "quantidade_registros": { 490 | "pos": [ 491 | 18, 492 | 23 493 | ], 494 | "picture": "9(6)" 495 | }, 496 | "somatoria_valores": { 497 | "pos": [ 498 | 24, 499 | 41 500 | ], 501 | "picture": "9(16)V9(2)" 502 | }, 503 | "somatoria_quantidade_moedas": { 504 | "pos": [ 505 | 42, 506 | 59 507 | ], 508 | "picture": "9(13)V9(5)" 509 | }, 510 | "numero_aviso": { 511 | "pos": [ 512 | 60, 513 | 65 514 | ], 515 | "picture": "9(6)" 516 | }, 517 | "exclusivo_febraban_02": { 518 | "pos": [ 519 | 66, 520 | 230 521 | ], 522 | "picture": "X(165)", 523 | "default": "" 524 | }, 525 | "ocorrencias": { 526 | "pos": [ 527 | 231, 528 | 240 529 | ], 530 | "picture": "X(10)" 531 | } 532 | }, 533 | "detalhes": { 534 | "segmento_a": { 535 | "codigo_banco": { 536 | "pos": [ 537 | 1, 538 | 3 539 | ], 540 | "picture": "9(3)", 541 | "default": 237 542 | }, 543 | "lote_servico": { 544 | "pos": [ 545 | 4, 546 | 7 547 | ], 548 | "picture": "9(4)" 549 | }, 550 | "tipo_registro": { 551 | "pos": [ 552 | 8, 553 | 8 554 | ], 555 | "picture": "9(1)", 556 | "default": 3 557 | }, 558 | "numero_registro": { 559 | "pos": [ 560 | 9, 561 | 13 562 | ], 563 | "picture": "9(5)" 564 | }, 565 | "codigo_segmento": { 566 | "pos": [ 567 | 14, 568 | 14 569 | ], 570 | "picture": "X(1)", 571 | "default": "A" 572 | }, 573 | "tipo_movimento": { 574 | "pos": [ 575 | 15, 576 | 15 577 | ], 578 | "picture": "9(1)", 579 | "default": "" 580 | }, 581 | "codigo_movimento": { 582 | "pos": [ 583 | 16, 584 | 17 585 | ], 586 | "picture": "9(2)" 587 | }, 588 | "codigo_camara_centralizadora": { 589 | "pos": [ 590 | 18, 591 | 20 592 | ], 593 | "picture": "9(3)" 594 | }, 595 | "codigo_banco_favorecido": { 596 | "pos": [ 597 | 21, 598 | 23 599 | ], 600 | "picture": "9(3)" 601 | }, 602 | "agencia_favorecido": { 603 | "pos": [ 604 | 24, 605 | 28 606 | ], 607 | "picture": "9(5)" 608 | }, 609 | "verificador_agencia_favorecido": { 610 | "pos": [ 611 | 29, 612 | 29 613 | ], 614 | "picture": "X(1)" 615 | }, 616 | "conta_favorecido": { 617 | "pos": [ 618 | 30, 619 | 41 620 | ], 621 | "picture": "9(12)" 622 | }, 623 | "verificador_conta_favorecido": { 624 | "pos": [ 625 | 42, 626 | 42 627 | ], 628 | "picture": "X(1)" 629 | }, 630 | "verificador_agencia_conta_favorecido": { 631 | "pos": [ 632 | 43, 633 | 43 634 | ], 635 | "picture": "X(1)", 636 | "default": "" 637 | }, 638 | "nome_favorecido": { 639 | "pos": [ 640 | 44, 641 | 73 642 | ], 643 | "picture": "X(30)" 644 | }, 645 | "numero_documento_empresa": { 646 | "pos": [ 647 | 74, 648 | 93 649 | ], 650 | "picture": "X(20)" 651 | }, 652 | "data_pagamento": { 653 | "pos": [ 654 | 94, 655 | 101 656 | ], 657 | "picture": "9(8)" 658 | }, 659 | "tipo_moeda": { 660 | "pos": [ 661 | 102, 662 | 104 663 | ], 664 | "picture": "X(3)", 665 | "default": "BRL" 666 | }, 667 | "quantidade_moeda": { 668 | "pos": [ 669 | 105, 670 | 119 671 | ], 672 | "picture": "9(10)V9(5)" 673 | }, 674 | "valor_pagamento": { 675 | "pos": [ 676 | 120, 677 | 134 678 | ], 679 | "picture": "9(13)V9(2)" 680 | }, 681 | "numero_documento_banco": { 682 | "pos": [ 683 | 135, 684 | 154 685 | ], 686 | "picture": "X(20)" 687 | }, 688 | "data_real_efetivacao": { 689 | "pos": [ 690 | 155, 691 | 162 692 | ], 693 | "picture": "9(8)" 694 | }, 695 | "valor_real_efetivacao": { 696 | "pos": [ 697 | 163, 698 | 177 699 | ], 700 | "picture": "9(13)V9(2)" 701 | }, 702 | "informacao_2": { 703 | "pos": [ 704 | 178, 705 | 217 706 | ], 707 | "picture": "X(40)", 708 | "default": "" 709 | }, 710 | "codigo_finalidade_doc": { 711 | "pos": [ 712 | 218, 713 | 218 714 | ], 715 | "picture": "X(2)" 716 | }, 717 | "codigo_finalidade_ted": { 718 | "pos": [ 719 | 220, 720 | 224 721 | ], 722 | "picture": "X(5)" 723 | }, 724 | "codigo_finalidade_complementar": { 725 | "pos": [ 726 | 225, 727 | 226 728 | ], 729 | "picture": "X(2)" 730 | }, 731 | "exclusivo_febraban_01": { 732 | "pos": [ 733 | 227, 734 | 229 735 | ], 736 | "picture": "X(3)", 737 | "default": "" 738 | }, 739 | "aviso": { 740 | "pos": [ 741 | 230, 742 | 230 743 | ], 744 | "picture": "9(1)" 745 | }, 746 | "ocorrencias": { 747 | "pos": [ 748 | 231, 749 | 240 750 | ], 751 | "picture": "X(10)" 752 | } 753 | }, 754 | "segmento_b": { 755 | "codigo_banco": { 756 | "pos": [ 757 | 1, 758 | 3 759 | ], 760 | "picture": "9(3)", 761 | "default": 237 762 | }, 763 | "lote_servico": { 764 | "pos": [ 765 | 4, 766 | 7 767 | ], 768 | "picture": "9(4)" 769 | }, 770 | "tipo_registro": { 771 | "pos": [ 772 | 8, 773 | 8 774 | ], 775 | "picture": "9(1)", 776 | "default": 3 777 | }, 778 | "numero_registro": { 779 | "pos": [ 780 | 9, 781 | 13 782 | ], 783 | "picture": "9(5)" 784 | }, 785 | "codigo_segmento": { 786 | "pos": [ 787 | 14, 788 | 14 789 | ], 790 | "picture": "X(1)", 791 | "default": "B" 792 | }, 793 | "exclusivo_febraban_01": { 794 | "pos": [ 795 | 15, 796 | 17 797 | ], 798 | "picture": "X(3)", 799 | "default": "" 800 | }, 801 | "tipo_inscricao_favorecido": { 802 | "pos": [ 803 | 18, 804 | 18 805 | ], 806 | "picture": "9(1)" 807 | }, 808 | "numero_inscricao_favorecido": { 809 | "pos": [ 810 | 19, 811 | 32 812 | ], 813 | "picture": "9(14)" 814 | }, 815 | "logradouro_favorecido": { 816 | "pos": [ 817 | 33, 818 | 62 819 | ], 820 | "picture": "X(30)" 821 | }, 822 | "numero_favorecido": { 823 | "pos": [ 824 | 63, 825 | 67 826 | ], 827 | "picture": "9(5)" 828 | }, 829 | "complemento_favorecido": { 830 | "pos": [ 831 | 68, 832 | 82 833 | ], 834 | "picture": "X(15)" 835 | }, 836 | "bairro_favorecido": { 837 | "pos": [ 838 | 83, 839 | 97 840 | ], 841 | "picture": "X(15)" 842 | }, 843 | "cidade_favorecido": { 844 | "pos": [ 845 | 98, 846 | 117 847 | ], 848 | "picture": "X(20)" 849 | }, 850 | "cep_favorecido": { 851 | "pos": [ 852 | 118, 853 | 122 854 | ], 855 | "picture": "9(5)" 856 | }, 857 | "sufixo_cep_favorecido": { 858 | "pos": [ 859 | 123, 860 | 125 861 | ], 862 | "picture": "X(3)" 863 | }, 864 | "sigla_uf_favorecido": { 865 | "pos": [ 866 | 126, 867 | 127 868 | ], 869 | "picture": "X(2)" 870 | }, 871 | "data_vencimento": { 872 | "pos": [ 873 | 128, 874 | 135 875 | ], 876 | "picture": "9(8)" 877 | }, 878 | "valor_documento": { 879 | "pos": [ 880 | 136, 881 | 150 882 | ], 883 | "picture": "9(13)V9(2)" 884 | }, 885 | "valor_abatimento": { 886 | "pos": [ 887 | 151, 888 | 165 889 | ], 890 | "picture": "9(13)V9(2)" 891 | }, 892 | "valor_desconto": { 893 | "pos": [ 894 | 166, 895 | 180 896 | ], 897 | "picture": "9(13)V9(2)" 898 | }, 899 | "valor_mora": { 900 | "pos": [ 901 | 181, 902 | 195 903 | ], 904 | "picture": "9(13)V9(2)" 905 | }, 906 | "valor_multa": { 907 | "pos": [ 908 | 196, 909 | 210 910 | ], 911 | "picture": "9(13)V9(2)" 912 | }, 913 | "codigo_documento_favorecido": { 914 | "pos": [ 915 | 211, 916 | 225 917 | ], 918 | "picture": "X(15)" 919 | }, 920 | "aviso_favorecido": { 921 | "pos": [ 922 | 226, 923 | 226 924 | ], 925 | "picture": "9(1)", 926 | "default": "" 927 | }, 928 | "codigo_ug_centralizadora": { 929 | "pos": [ 930 | 227, 931 | 232 932 | ], 933 | "picture": "9(6)" 934 | }, 935 | "codigo_ispb": { 936 | "pos": [ 937 | 233, 938 | 240 939 | ], 940 | "picture": "9(8)" 941 | } 942 | }, 943 | "segmento_c": { 944 | "codigo_banco": { 945 | "pos": [ 946 | 1, 947 | 3 948 | ], 949 | "picture": "9(3)", 950 | "default": 237 951 | }, 952 | "lote_servico": { 953 | "pos": [ 954 | 4, 955 | 7 956 | ], 957 | "picture": "9(4)" 958 | }, 959 | "tipo_registro": { 960 | "pos": [ 961 | 8, 962 | 8 963 | ], 964 | "picture": "9(1)", 965 | "default": 3 966 | }, 967 | "numero_registro": { 968 | "pos": [ 969 | 9, 970 | 13 971 | ], 972 | "picture": "9(5)" 973 | }, 974 | "codigo_segmento": { 975 | "pos": [ 976 | 14, 977 | 14 978 | ], 979 | "picture": "X(1)", 980 | "default": "C" 981 | }, 982 | "exclusivo_febraban_01": { 983 | "pos": [ 984 | 15, 985 | 17 986 | ], 987 | "picture": "X(3)", 988 | "default": "" 989 | }, 990 | "valor_ir": { 991 | "pos": [ 992 | 18, 993 | 32 994 | ], 995 | "picture": "9(13)V9(2)" 996 | }, 997 | "valor_iss": { 998 | "pos": [ 999 | 33, 1000 | 47 1001 | ], 1002 | "picture": "9(13)V9(2)" 1003 | }, 1004 | "valor_iof": { 1005 | "pos": [ 1006 | 48, 1007 | 62 1008 | ], 1009 | "picture": "9(13)V9(2)" 1010 | }, 1011 | "valor_outras_deducoes": { 1012 | "pos": [ 1013 | 63, 1014 | 77 1015 | ], 1016 | "picture": "9(13)V9(2)" 1017 | }, 1018 | "valor_outros_acrescimos": { 1019 | "pos": [ 1020 | 78, 1021 | 92 1022 | ], 1023 | "picture": "9(13)V9(2)" 1024 | }, 1025 | "agencia_favorecido": { 1026 | "pos": [ 1027 | 93, 1028 | 97 1029 | ], 1030 | "picture": "9(5)" 1031 | }, 1032 | "digito_verificador_agencia": { 1033 | "pos": [ 1034 | 98, 1035 | 98 1036 | ], 1037 | "picture": "X(1)" 1038 | }, 1039 | "conta_favorecido": { 1040 | "pos": [ 1041 | 99, 1042 | 110 1043 | ], 1044 | "picture": "9(12)" 1045 | }, 1046 | "verificador_conta_favorecido": { 1047 | "pos": [ 1048 | 111, 1049 | 111 1050 | ], 1051 | "picture": "X(1)" 1052 | }, 1053 | "verificador_agencia_conta_favorecido": { 1054 | "pos": [ 1055 | 112, 1056 | 112 1057 | ], 1058 | "picture": "X(1)" 1059 | }, 1060 | "valor_inss": { 1061 | "pos": [ 1062 | 113, 1063 | 127 1064 | ], 1065 | "picture": "9(13)V9(2)" 1066 | }, 1067 | "exclusivo_febraban_02": { 1068 | "pos": [ 1069 | 128, 1070 | 240 1071 | ], 1072 | "picture": "X(113)", 1073 | "default": "" 1074 | } 1075 | } 1076 | } 1077 | }, 1078 | "retorno": { 1079 | "header_arquivo": { 1080 | "codigo_banco": { 1081 | "pos": [ 1082 | 1, 1083 | 3 1084 | ], 1085 | "picture": "9(3)", 1086 | "default": 237 1087 | }, 1088 | "lote_servico": { 1089 | "pos": [ 1090 | 4, 1091 | 7 1092 | ], 1093 | "picture": "9(4)", 1094 | "default": 0 1095 | }, 1096 | "tipo_registro": { 1097 | "pos": [ 1098 | 8, 1099 | 8 1100 | ], 1101 | "picture": "9(1)", 1102 | "default": 0 1103 | }, 1104 | "exclusivo_febraban_01": { 1105 | "pos": [ 1106 | 9, 1107 | 17 1108 | ], 1109 | "picture": "X(9)", 1110 | "default": "" 1111 | }, 1112 | "tipo_inscricao": { 1113 | "pos": [ 1114 | 18, 1115 | 18 1116 | ], 1117 | "picture": "9(1)" 1118 | }, 1119 | "numero_inscricao": { 1120 | "pos": [ 1121 | 19, 1122 | 32 1123 | ], 1124 | "picture": "9(14)" 1125 | }, 1126 | "codigo_convenio": { 1127 | "pos": [ 1128 | 33, 1129 | 52 1130 | ], 1131 | "picture": "X(20)" 1132 | }, 1133 | "agencia": { 1134 | "pos": [ 1135 | 53, 1136 | 57 1137 | ], 1138 | "picture": "9(5)" 1139 | }, 1140 | "verificador_agencia": { 1141 | "pos": [ 1142 | 58, 1143 | 58 1144 | ], 1145 | "picture": "X(1)" 1146 | }, 1147 | "conta": { 1148 | "pos": [ 1149 | 59, 1150 | 70 1151 | ], 1152 | "picture": "9(12)" 1153 | }, 1154 | "verificador_conta": { 1155 | "pos": [ 1156 | 71, 1157 | 71 1158 | ], 1159 | "picture": "X(1)" 1160 | }, 1161 | "verificador_agencia_conta": { 1162 | "pos": [ 1163 | 72, 1164 | 72 1165 | ], 1166 | "picture": "X(1)", 1167 | "default": "" 1168 | }, 1169 | "nome_empresa": { 1170 | "pos": [ 1171 | 73, 1172 | 102 1173 | ], 1174 | "picture": "X(30)" 1175 | }, 1176 | "nome_banco": { 1177 | "pos": [ 1178 | 103, 1179 | 132 1180 | ], 1181 | "picture": "X(30)", 1182 | "default": "BANCO BRADESCO S.A." 1183 | }, 1184 | "exclusivo_febraban_02": { 1185 | "pos": [ 1186 | 133, 1187 | 142 1188 | ], 1189 | "picture": "X(10)", 1190 | "default": "" 1191 | }, 1192 | "codigo_remessa_retorno": { 1193 | "pos": [ 1194 | 143, 1195 | 143 1196 | ], 1197 | "picture": "9(1)" 1198 | }, 1199 | "data_geracao": { 1200 | "pos": [ 1201 | 144, 1202 | 151 1203 | ], 1204 | "picture": "9(8)" 1205 | }, 1206 | "hora_geracao": { 1207 | "pos": [ 1208 | 152, 1209 | 157 1210 | ], 1211 | "picture": "9(6)" 1212 | }, 1213 | "numero_sequencial": { 1214 | "pos": [ 1215 | 158, 1216 | 163 1217 | ], 1218 | "picture": "9(6)" 1219 | }, 1220 | "versao_layout": { 1221 | "pos": [ 1222 | 164, 1223 | 166 1224 | ], 1225 | "picture": "9(3)", 1226 | "default": 89 1227 | }, 1228 | "densidade_gravacao": { 1229 | "pos": [ 1230 | 167, 1231 | 171 1232 | ], 1233 | "picture": "9(5)", 1234 | "default": 0 1235 | }, 1236 | "reservado_banco_01": { 1237 | "pos": [ 1238 | 172, 1239 | 191 1240 | ], 1241 | "picture": "X(20)", 1242 | "default": "" 1243 | }, 1244 | "reservado_empresa_01": { 1245 | "pos": [ 1246 | 192, 1247 | 211 1248 | ], 1249 | "picture": "X(20)", 1250 | "default": "" 1251 | }, 1252 | "exclusivo_febraban_03": { 1253 | "pos": [ 1254 | 212, 1255 | 240 1256 | ], 1257 | "picture": "X(29)", 1258 | "default": "" 1259 | } 1260 | }, 1261 | "trailer_arquivo": { 1262 | "codigo_banco": { 1263 | "pos": [ 1264 | 1, 1265 | 3 1266 | ], 1267 | "picture": "9(3)", 1268 | "default": 237 1269 | }, 1270 | "lote_servico": { 1271 | "pos": [ 1272 | 4, 1273 | 7 1274 | ], 1275 | "picture": "9(4)", 1276 | "default": "9999" 1277 | }, 1278 | "tipo_registro": { 1279 | "pos": [ 1280 | 8, 1281 | 8 1282 | ], 1283 | "picture": "9(1)", 1284 | "default": 9 1285 | }, 1286 | "exclusivo_febraban_01": { 1287 | "pos": [ 1288 | 9, 1289 | 17 1290 | ], 1291 | "picture": "X(9)", 1292 | "default": "" 1293 | }, 1294 | "quantidade_lotes": { 1295 | "pos": [ 1296 | 18, 1297 | 23 1298 | ], 1299 | "picture": "9(6)" 1300 | }, 1301 | "quantidade_registros": { 1302 | "pos": [ 1303 | 24, 1304 | 29 1305 | ], 1306 | "picture": "9(6)" 1307 | }, 1308 | "quantidade_contas": { 1309 | "pos": [ 1310 | 30, 1311 | 35 1312 | ], 1313 | "picture": "9(6)" 1314 | }, 1315 | "exclusivo_febraban_02": { 1316 | "pos": [ 1317 | 36, 1318 | 240 1319 | ], 1320 | "picture": "X(205)", 1321 | "default": "" 1322 | } 1323 | }, 1324 | "header_lote": { 1325 | "codigo_banco": { 1326 | "pos": [ 1327 | 1, 1328 | 3 1329 | ], 1330 | "picture": "9(3)", 1331 | "default": 237 1332 | }, 1333 | "lote_servico": { 1334 | "pos": [ 1335 | 4, 1336 | 7 1337 | ], 1338 | "picture": "9(4)" 1339 | }, 1340 | "tipo_registro": { 1341 | "pos": [ 1342 | 8, 1343 | 8 1344 | ], 1345 | "picture": "9(1)", 1346 | "default": 1 1347 | }, 1348 | "tipo_operacao": { 1349 | "pos": [ 1350 | 9, 1351 | 9 1352 | ], 1353 | "picture": "X(1)", 1354 | "default": "C" 1355 | }, 1356 | "tipo_servico": { 1357 | "pos": [ 1358 | 10, 1359 | 11 1360 | ], 1361 | "picture": "9(2)" 1362 | }, 1363 | "forma_lancamento": { 1364 | "pos": [ 1365 | 12, 1366 | 13 1367 | ], 1368 | "picture": "9(2)" 1369 | }, 1370 | "versao_layout": { 1371 | "pos": [ 1372 | 14, 1373 | 16 1374 | ], 1375 | "picture": "9(3)", 1376 | "default": 45 1377 | }, 1378 | "exclusivo_febraban_01": { 1379 | "pos": [ 1380 | 17, 1381 | 17 1382 | ], 1383 | "picture": "X(1)", 1384 | "default": "" 1385 | }, 1386 | "tipo_inscricao": { 1387 | "pos": [ 1388 | 18, 1389 | 18 1390 | ], 1391 | "picture": "9(1)" 1392 | }, 1393 | "numero_inscricao": { 1394 | "pos": [ 1395 | 19, 1396 | 32 1397 | ], 1398 | "picture": "9(14)" 1399 | }, 1400 | "codigo_convenio": { 1401 | "pos": [ 1402 | 33, 1403 | 52 1404 | ], 1405 | "picture": "X(20)" 1406 | }, 1407 | "agencia": { 1408 | "pos": [ 1409 | 53, 1410 | 57 1411 | ], 1412 | "picture": "9(5)" 1413 | }, 1414 | "verificador_agencia": { 1415 | "pos": [ 1416 | 58, 1417 | 58 1418 | ], 1419 | "picture": "X(1)" 1420 | }, 1421 | "conta": { 1422 | "pos": [ 1423 | 59, 1424 | 70 1425 | ], 1426 | "picture": "9(12)" 1427 | }, 1428 | "verificador_conta": { 1429 | "pos": [ 1430 | 71, 1431 | 71 1432 | ], 1433 | "picture": "X(1)" 1434 | }, 1435 | "verificador_agencia_conta": { 1436 | "pos": [ 1437 | 72, 1438 | 72 1439 | ], 1440 | "picture": "X(1)" 1441 | }, 1442 | "nome_empresa": { 1443 | "pos": [ 1444 | 73, 1445 | 102 1446 | ], 1447 | "picture": "X(30)" 1448 | }, 1449 | "mensagem_01": { 1450 | "pos": [ 1451 | 103, 1452 | 142 1453 | ], 1454 | "picture": "X(40)", 1455 | "default": "" 1456 | }, 1457 | "logradouro": { 1458 | "pos": [ 1459 | 143, 1460 | 172 1461 | ], 1462 | "picture": "X(30)" 1463 | }, 1464 | "numero": { 1465 | "pos": [ 1466 | 173, 1467 | 177 1468 | ], 1469 | "picture": "9(5)" 1470 | }, 1471 | "complemento": { 1472 | "pos": [ 1473 | 178, 1474 | 192 1475 | ], 1476 | "picture": "X(15)" 1477 | }, 1478 | "cidade": { 1479 | "pos": [ 1480 | 193, 1481 | 212 1482 | ], 1483 | "picture": "X(20)" 1484 | }, 1485 | "cep": { 1486 | "pos": [ 1487 | 213, 1488 | 217 1489 | ], 1490 | "picture": "9(5)" 1491 | }, 1492 | "sufixo_cep": { 1493 | "pos": [ 1494 | 218, 1495 | 220 1496 | ], 1497 | "picture": "X(3)" 1498 | }, 1499 | "sigla_uf": { 1500 | "pos": [ 1501 | 221, 1502 | 222 1503 | ], 1504 | "picture": "X(2)" 1505 | }, 1506 | "indicativo_forma_pagamento": { 1507 | "pos": [ 1508 | 223, 1509 | 224 1510 | ], 1511 | "picture": "9(2)", 1512 | "default": 1 1513 | }, 1514 | "exclusivo_febraban_02": { 1515 | "pos": [ 1516 | 225, 1517 | 230 1518 | ], 1519 | "picture": "X(6)", 1520 | "default": "" 1521 | }, 1522 | "ocorrencias": { 1523 | "pos": [ 1524 | 231, 1525 | 240 1526 | ], 1527 | "picture": "X(10)" 1528 | } 1529 | }, 1530 | "trailer_lote": { 1531 | "codigo_banco": { 1532 | "pos": [ 1533 | 1, 1534 | 3 1535 | ], 1536 | "picture": "9(3)", 1537 | "default": 237 1538 | }, 1539 | "lote_servico": { 1540 | "pos": [ 1541 | 4, 1542 | 7 1543 | ], 1544 | "picture": "9(4)" 1545 | }, 1546 | "tipo_registro": { 1547 | "pos": [ 1548 | 8, 1549 | 8 1550 | ], 1551 | "picture": "9(1)", 1552 | "default": 5 1553 | }, 1554 | "exclusivo_febraban_01": { 1555 | "pos": [ 1556 | 9, 1557 | 17 1558 | ], 1559 | "picture": "X(9)", 1560 | "default": "" 1561 | }, 1562 | "quantidade_registros": { 1563 | "pos": [ 1564 | 18, 1565 | 23 1566 | ], 1567 | "picture": "9(6)" 1568 | }, 1569 | "somatoria_valores": { 1570 | "pos": [ 1571 | 24, 1572 | 41 1573 | ], 1574 | "picture": "9(16)V9(2)" 1575 | }, 1576 | "somatoria_quantidade_moedas": { 1577 | "pos": [ 1578 | 42, 1579 | 59 1580 | ], 1581 | "picture": "9(13)V9(5)" 1582 | }, 1583 | "numero_aviso": { 1584 | "pos": [ 1585 | 60, 1586 | 65 1587 | ], 1588 | "picture": "9(6)" 1589 | }, 1590 | "exclusivo_febraban_02": { 1591 | "pos": [ 1592 | 66, 1593 | 230 1594 | ], 1595 | "picture": "X(165)", 1596 | "default": "" 1597 | }, 1598 | "ocorrencias": { 1599 | "pos": [ 1600 | 231, 1601 | 240 1602 | ], 1603 | "picture": "X(10)" 1604 | } 1605 | }, 1606 | "detalhes": { 1607 | "segmento_a": { 1608 | "codigo_banco": { 1609 | "pos": [ 1610 | 1, 1611 | 3 1612 | ], 1613 | "picture": "9(3)", 1614 | "default": 237 1615 | }, 1616 | "lote_servico": { 1617 | "pos": [ 1618 | 4, 1619 | 7 1620 | ], 1621 | "picture": "9(4)" 1622 | }, 1623 | "tipo_registro": { 1624 | "pos": [ 1625 | 8, 1626 | 8 1627 | ], 1628 | "picture": "9(1)", 1629 | "default": 3 1630 | }, 1631 | "numero_registro": { 1632 | "pos": [ 1633 | 9, 1634 | 13 1635 | ], 1636 | "picture": "9(5)" 1637 | }, 1638 | "codigo_segmento": { 1639 | "pos": [ 1640 | 14, 1641 | 14 1642 | ], 1643 | "picture": "X(1)", 1644 | "default": "A" 1645 | }, 1646 | "tipo_movimento": { 1647 | "pos": [ 1648 | 15, 1649 | 15 1650 | ], 1651 | "picture": "9(1)", 1652 | "default": "" 1653 | }, 1654 | "codigo_movimento": { 1655 | "pos": [ 1656 | 16, 1657 | 17 1658 | ], 1659 | "picture": "9(2)" 1660 | }, 1661 | "codigo_camara_centralizadora": { 1662 | "pos": [ 1663 | 18, 1664 | 20 1665 | ], 1666 | "picture": "9(3)" 1667 | }, 1668 | "codigo_banco_favorecido": { 1669 | "pos": [ 1670 | 21, 1671 | 23 1672 | ], 1673 | "picture": "9(3)" 1674 | }, 1675 | "agencia_favorecido": { 1676 | "pos": [ 1677 | 24, 1678 | 28 1679 | ], 1680 | "picture": "9(5)" 1681 | }, 1682 | "verificador_agencia_favorecido": { 1683 | "pos": [ 1684 | 29, 1685 | 29 1686 | ], 1687 | "picture": "X(1)" 1688 | }, 1689 | "conta_favorecido": { 1690 | "pos": [ 1691 | 30, 1692 | 41 1693 | ], 1694 | "picture": "9(12)" 1695 | }, 1696 | "verificador_conta_favorecido": { 1697 | "pos": [ 1698 | 42, 1699 | 42 1700 | ], 1701 | "picture": "X(1)" 1702 | }, 1703 | "verificador_agencia_conta_favorecido": { 1704 | "pos": [ 1705 | 43, 1706 | 43 1707 | ], 1708 | "picture": "X(1)", 1709 | "default": "" 1710 | }, 1711 | "nome_favorecido": { 1712 | "pos": [ 1713 | 44, 1714 | 73 1715 | ], 1716 | "picture": "X(30)" 1717 | }, 1718 | "numero_documento_empresa": { 1719 | "pos": [ 1720 | 74, 1721 | 93 1722 | ], 1723 | "picture": "X(20)" 1724 | }, 1725 | "data_pagamento": { 1726 | "pos": [ 1727 | 94, 1728 | 101 1729 | ], 1730 | "picture": "9(8)" 1731 | }, 1732 | "tipo_moeda": { 1733 | "pos": [ 1734 | 102, 1735 | 104 1736 | ], 1737 | "picture": "X(3)", 1738 | "default": "BRL" 1739 | }, 1740 | "quantidade_moeda": { 1741 | "pos": [ 1742 | 105, 1743 | 119 1744 | ], 1745 | "picture": "9(10)V9(5)" 1746 | }, 1747 | "valor_pagamento": { 1748 | "pos": [ 1749 | 120, 1750 | 134 1751 | ], 1752 | "picture": "9(13)V9(2)" 1753 | }, 1754 | "numero_documento_banco": { 1755 | "pos": [ 1756 | 135, 1757 | 154 1758 | ], 1759 | "picture": "X(20)" 1760 | }, 1761 | "data_real_efetivacao": { 1762 | "pos": [ 1763 | 155, 1764 | 162 1765 | ], 1766 | "picture": "9(8)" 1767 | }, 1768 | "valor_real_efetivacao": { 1769 | "pos": [ 1770 | 163, 1771 | 177 1772 | ], 1773 | "picture": "9(13)V9(2)" 1774 | }, 1775 | "informacao_2": { 1776 | "pos": [ 1777 | 178, 1778 | 217 1779 | ], 1780 | "picture": "X(40)", 1781 | "default": "" 1782 | }, 1783 | "codigo_finalidade_doc": { 1784 | "pos": [ 1785 | 218, 1786 | 218 1787 | ], 1788 | "picture": "X(2)" 1789 | }, 1790 | "codigo_finalidade_ted": { 1791 | "pos": [ 1792 | 220, 1793 | 224 1794 | ], 1795 | "picture": "X(5)" 1796 | }, 1797 | "codigo_finalidade_complementar": { 1798 | "pos": [ 1799 | 225, 1800 | 226 1801 | ], 1802 | "picture": "X(2)" 1803 | }, 1804 | "exclusivo_febraban_01": { 1805 | "pos": [ 1806 | 227, 1807 | 229 1808 | ], 1809 | "picture": "X(3)", 1810 | "default": "" 1811 | }, 1812 | "aviso": { 1813 | "pos": [ 1814 | 230, 1815 | 230 1816 | ], 1817 | "picture": "9(1)" 1818 | }, 1819 | "ocorrencias": { 1820 | "pos": [ 1821 | 231, 1822 | 240 1823 | ], 1824 | "picture": "X(10)" 1825 | } 1826 | }, 1827 | "segmento_b": { 1828 | "codigo_banco": { 1829 | "pos": [ 1830 | 1, 1831 | 3 1832 | ], 1833 | "picture": "9(3)", 1834 | "default": 237 1835 | }, 1836 | "lote_servico": { 1837 | "pos": [ 1838 | 4, 1839 | 7 1840 | ], 1841 | "picture": "9(4)" 1842 | }, 1843 | "tipo_registro": { 1844 | "pos": [ 1845 | 8, 1846 | 8 1847 | ], 1848 | "picture": "9(1)", 1849 | "default": 3 1850 | }, 1851 | "numero_registro": { 1852 | "pos": [ 1853 | 9, 1854 | 13 1855 | ], 1856 | "picture": "9(5)" 1857 | }, 1858 | "codigo_segmento": { 1859 | "pos": [ 1860 | 14, 1861 | 14 1862 | ], 1863 | "picture": "X(1)", 1864 | "default": "B" 1865 | }, 1866 | "exclusivo_febraban_01": { 1867 | "pos": [ 1868 | 15, 1869 | 17 1870 | ], 1871 | "picture": "X(3)", 1872 | "default": "" 1873 | }, 1874 | "tipo_inscricao_favorecido": { 1875 | "pos": [ 1876 | 18, 1877 | 18 1878 | ], 1879 | "picture": "9(1)" 1880 | }, 1881 | "numero_inscricao_favorecido": { 1882 | "pos": [ 1883 | 19, 1884 | 32 1885 | ], 1886 | "picture": "9(14)" 1887 | }, 1888 | "logradouro_favorecido": { 1889 | "pos": [ 1890 | 33, 1891 | 62 1892 | ], 1893 | "picture": "X(30)" 1894 | }, 1895 | "numero_favorecido": { 1896 | "pos": [ 1897 | 63, 1898 | 67 1899 | ], 1900 | "picture": "9(5)" 1901 | }, 1902 | "complemento_favorecido": { 1903 | "pos": [ 1904 | 68, 1905 | 82 1906 | ], 1907 | "picture": "X(15)" 1908 | }, 1909 | "bairro_favorecido": { 1910 | "pos": [ 1911 | 83, 1912 | 97 1913 | ], 1914 | "picture": "X(15)" 1915 | }, 1916 | "cidade_favorecido": { 1917 | "pos": [ 1918 | 98, 1919 | 117 1920 | ], 1921 | "picture": "X(20)" 1922 | }, 1923 | "cep_favorecido": { 1924 | "pos": [ 1925 | 118, 1926 | 122 1927 | ], 1928 | "picture": "9(5)" 1929 | }, 1930 | "sufixo_cep_favorecido": { 1931 | "pos": [ 1932 | 123, 1933 | 125 1934 | ], 1935 | "picture": "X(3)" 1936 | }, 1937 | "sigla_uf_favorecido": { 1938 | "pos": [ 1939 | 126, 1940 | 127 1941 | ], 1942 | "picture": "X(2)" 1943 | }, 1944 | "data_vencimento": { 1945 | "pos": [ 1946 | 128, 1947 | 135 1948 | ], 1949 | "picture": "9(8)" 1950 | }, 1951 | "valor_documento": { 1952 | "pos": [ 1953 | 136, 1954 | 150 1955 | ], 1956 | "picture": "9(13)V9(2)" 1957 | }, 1958 | "valor_abatimento": { 1959 | "pos": [ 1960 | 151, 1961 | 165 1962 | ], 1963 | "picture": "9(13)V9(2)" 1964 | }, 1965 | "valor_desconto": { 1966 | "pos": [ 1967 | 166, 1968 | 180 1969 | ], 1970 | "picture": "9(13)V9(2)" 1971 | }, 1972 | "valor_mora": { 1973 | "pos": [ 1974 | 181, 1975 | 195 1976 | ], 1977 | "picture": "9(13)V9(2)" 1978 | }, 1979 | "valor_multa": { 1980 | "pos": [ 1981 | 196, 1982 | 210 1983 | ], 1984 | "picture": "9(13)V9(2)" 1985 | }, 1986 | "codigo_documento_favorecido": { 1987 | "pos": [ 1988 | 211, 1989 | 225 1990 | ], 1991 | "picture": "X(15)" 1992 | }, 1993 | "aviso_favorecido": { 1994 | "pos": [ 1995 | 226, 1996 | 226 1997 | ], 1998 | "picture": "9(1)", 1999 | "default": "" 2000 | }, 2001 | "codigo_ug_centralizadora": { 2002 | "pos": [ 2003 | 227, 2004 | 232 2005 | ], 2006 | "picture": "9(6)" 2007 | }, 2008 | "codigo_ispb": { 2009 | "pos": [ 2010 | 233, 2011 | 240 2012 | ], 2013 | "picture": "9(8)" 2014 | } 2015 | }, 2016 | "segmento_c": { 2017 | "codigo_banco": { 2018 | "pos": [ 2019 | 1, 2020 | 3 2021 | ], 2022 | "picture": "9(3)", 2023 | "default": 237 2024 | }, 2025 | "lote_servico": { 2026 | "pos": [ 2027 | 4, 2028 | 7 2029 | ], 2030 | "picture": "9(4)" 2031 | }, 2032 | "tipo_registro": { 2033 | "pos": [ 2034 | 8, 2035 | 8 2036 | ], 2037 | "picture": "9(1)", 2038 | "default": 3 2039 | }, 2040 | "numero_registro": { 2041 | "pos": [ 2042 | 9, 2043 | 13 2044 | ], 2045 | "picture": "9(5)" 2046 | }, 2047 | "codigo_segmento": { 2048 | "pos": [ 2049 | 14, 2050 | 14 2051 | ], 2052 | "picture": "X(1)", 2053 | "default": "C" 2054 | }, 2055 | "exclusivo_febraban_01": { 2056 | "pos": [ 2057 | 15, 2058 | 17 2059 | ], 2060 | "picture": "X(3)", 2061 | "default": "" 2062 | }, 2063 | "valor_ir": { 2064 | "pos": [ 2065 | 18, 2066 | 32 2067 | ], 2068 | "picture": "9(13)V9(2)" 2069 | }, 2070 | "valor_iss": { 2071 | "pos": [ 2072 | 33, 2073 | 47 2074 | ], 2075 | "picture": "9(13)V9(2)" 2076 | }, 2077 | "valor_iof": { 2078 | "pos": [ 2079 | 48, 2080 | 62 2081 | ], 2082 | "picture": "9(13)V9(2)" 2083 | }, 2084 | "valor_outras_deducoes": { 2085 | "pos": [ 2086 | 63, 2087 | 77 2088 | ], 2089 | "picture": "9(13)V9(2)" 2090 | }, 2091 | "valor_outros_acrescimos": { 2092 | "pos": [ 2093 | 78, 2094 | 92 2095 | ], 2096 | "picture": "9(13)V9(2)" 2097 | }, 2098 | "agencia_favorecido": { 2099 | "pos": [ 2100 | 93, 2101 | 97 2102 | ], 2103 | "picture": "9(5)" 2104 | }, 2105 | "digito_verificador_agencia": { 2106 | "pos": [ 2107 | 98, 2108 | 98 2109 | ], 2110 | "picture": "X(1)" 2111 | }, 2112 | "conta_favorecido": { 2113 | "pos": [ 2114 | 99, 2115 | 110 2116 | ], 2117 | "picture": "9(12)" 2118 | }, 2119 | "verificador_conta_favorecido": { 2120 | "pos": [ 2121 | 111, 2122 | 111 2123 | ], 2124 | "picture": "X(1)" 2125 | }, 2126 | "verificador_agencia_conta_favorecido": { 2127 | "pos": [ 2128 | 112, 2129 | 112 2130 | ], 2131 | "picture": "X(1)" 2132 | }, 2133 | "valor_inss": { 2134 | "pos": [ 2135 | 113, 2136 | 127 2137 | ], 2138 | "picture": "9(13)V9(2)" 2139 | }, 2140 | "exclusivo_febraban_02": { 2141 | "pos": [ 2142 | 128, 2143 | 240 2144 | ], 2145 | "picture": "X(113)", 2146 | "default": "" 2147 | } 2148 | } 2149 | } 2150 | } 2151 | } --------------------------------------------------------------------------------