Created
March 1, 2019 14:10
-
-
Save rvalyi/a6a33486533d15621c784c82682905d1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- | |
# | |
# Generated Fri Mar 1 04:51:31 2019 by generateDS.py(Akretion's branch). | |
# Python 3.6.7 (default, Oct 22 2018, 11:32:17) [GCC 8.2.0] | |
# | |
import textwrap | |
from odoo import fields | |
from .. import spec_models | |
# """Código de Regime Tributário. | |
# Este campo será obrigatoriamente preenchido com:""" | |
CRTType = [ | |
("1", "1 – Simples Nacional"), | |
("2", "2 – Simples Nacional – excesso de sublimite de receita bruta"), | |
("3", "3 – Regime Normal."), | |
] | |
CSOSNType = [ | |
("101", """101- Tributada pelo Simples Nacional com permissão de crédito. | |
(v.2.0)"""), | |
] | |
CSOSNType32 = [ | |
("102", """102- Tributada pelo Simples Nacional sem permissão de | |
crédito."""), | |
("103", """103 – Isenção do ICMS no Simples Nacional para faixa de receita | |
bruta."""), | |
("300", "300 – Imune."), | |
("400", "400 – Não tributda pelo Simples Nacional (v.2.0) (v.2.0)"), | |
] | |
CSOSNType33 = [ | |
("201", """201- Tributada pelo Simples Nacional com permissão de crédito e | |
com cobrança do ICMS por Substituição Tributária (v.2.0)"""), | |
] | |
CSOSNType35 = [ | |
("202", """202- Tributada pelo Simples Nacional sem permissão de crédito e | |
com cobrança do ICMS por Substituição Tributária"""), | |
("203", """203- Isenção do ICMS nos Simples Nacional para faixa de receita | |
bruta e com cobrança do ICMS por Substituição Tributária | |
(v.2.0)"""), | |
] | |
# """500 – ICMS cobrado anterirmente por substituição tributária | |
# (substituído) ou por antecipação | |
# (v.2.0)""" | |
CSOSNType37 = [ | |
("500", "500"), | |
] | |
# "Tributação pelo ICMS 900 - Outros(v2.0)" | |
CSOSNType38 = [ | |
("900", "900"), | |
] | |
# "Tributção pelo ICMS" | |
CSTType = [ | |
("00", "00 - Tributada integralmente"), | |
] | |
# "Tributção pelo ICMS" | |
CSTType10 = [ | |
("20", "20 - Com redução de base de cálculo"), | |
] | |
# "Tributção pelo ICMS" | |
CSTType12 = [ | |
("30", """30 - Isenta ou não tributada e com cobrança do ICMS por | |
substituição tributária"""), | |
] | |
# """Tributação pelo ICMS | |
# 40 - Isenta | |
# 41 - Não tributada | |
# 50 - Suspensão | |
# 51 - Diferimento""" | |
CSTType15 = [ | |
("40", "40"), | |
("41", "41"), | |
("50", "50"), | |
] | |
# """Tributção pelo ICMS | |
# 20 - Com redução de base de cálculo""" | |
CSTType17 = [ | |
("51", "51"), | |
] | |
# "Tributação pelo ICMS" | |
CSTType19 = [ | |
("60", "60 - ICMS cobrado anteriormente por substituição tributária"), | |
] | |
# "Tributção pelo ICMS" | |
CSTType20 = [ | |
("70", """70 - Com redução de base de cálculo e cobrança do ICMS por | |
substituição tributária"""), | |
] | |
# "Tributção pelo ICMS" | |
CSTType24 = [ | |
("90", "90 - Outras"), | |
] | |
# "Tributação pelo ICMS" | |
CSTType28 = [ | |
("10", """10 - Tributada e com cobrança do ICMS por substituição | |
tributária"""), | |
("90", "90 – Outros."), | |
] | |
# "Tributção pelo ICMS" | |
CSTType31 = [ | |
("41", "41-Não Tributado."), | |
("60", "60-Cobrado anteriormente por substituição tributária."), | |
] | |
# "Código de Situação Tributária do PIS." | |
CSTType41 = [ | |
("01", """01 – Operação Tributável - Base de Cálculo = Valor da Operação | |
Alíquota Normal (Cumulativo/Não Cumulativo)"""), | |
("02", """02 - Operação Tributável - Base de Calculo = Valor da Operação | |
(Alíquota Diferenciada)"""), | |
] | |
# "Código de Situação Tributária do PIS." | |
CSTType42 = [ | |
("03", """03 - Operação Tributável - Base de Calculo = Quantidade Vendida | |
x Alíquota por Unidade de Produto"""), | |
] | |
# "Código de Situação Tributária do PIS." | |
CSTType43 = [ | |
("04", """04 - Operação Tributável - Tributação Monofásica - (Alíquota | |
Zero)"""), | |
("05", "05 - Operação Tributável (ST)"), | |
("06", "06 - Operação Tributável - Alíquota Zero"), | |
("07", "07 - Operação Isenta da contribuição"), | |
("08", "08 - Operação Sem Incidência da contribuição"), | |
("09", "09 - Operação com suspensão da contribuição"), | |
] | |
# """Código de Situação Tributária do PIS. | |
# 99 - Outras Operações.""" | |
CSTType44 = [ | |
("49", "49"), | |
("50", "50"), | |
("51", "51"), | |
("52", "52"), | |
("53", "53"), | |
("54", "54"), | |
("55", "55"), | |
("56", "56"), | |
("60", "60"), | |
("61", "61"), | |
("62", "62"), | |
("63", "63"), | |
("64", "64"), | |
("65", "65"), | |
("66", "66"), | |
("67", "67"), | |
("70", "70"), | |
("71", "71"), | |
("72", "72"), | |
("73", "73"), | |
("74", "74"), | |
("75", "75"), | |
("98", "98"), | |
("99", "99"), | |
] | |
# "Código de Situação Tributária do COFINS." | |
CSTType45 = [ | |
("01", """01 – Operação Tributável - Base de Cálculo = Valor da Operação | |
Alíquota Normal (Cumulativo/Não Cumulativo)"""), | |
("02", """02 - Operação Tributável - Base de Calculo = Valor da Operação | |
(Alíquota Diferenciada)"""), | |
] | |
# "Código de Situação Tributária do COFINS." | |
CSTType46 = [ | |
("03", """03 - Operação Tributável - Base de Calculo = Quantidade Vendida | |
x Alíquota por Unidade de Produto"""), | |
] | |
# "Código de Situação Tributária do COFINS:" | |
CSTType47 = [ | |
("04", """04 - Operação Tributável - Tributação Monofásica - (Alíquota | |
Zero)"""), | |
("05", "05 - Operação Tributável (ST)"), | |
("06", "06 - Operação Tributável - Alíquota Zero"), | |
("07", "07 - Operação Isenta da contribuição"), | |
("08", "08 - Operação Sem Incidência da contribuição"), | |
("09", "09 - Operação com suspensão da contribuição"), | |
] | |
# "Código de Situação Tributária do COFINS:" | |
CSTType48 = [ | |
("49", "49 - Outras Operações de Saída"), | |
("50", """50 - Operação com Direito a Crédito - Vinculada Exclusivamente a | |
Receita Tributada no Mercado Interno"""), | |
("51", """51 - Operação com Direito a Crédito – Vinculada Exclusivamente a | |
Receita Não Tributada no Mercado Interno"""), | |
("52", """52 - Operação com Direito a Crédito - Vinculada Exclusivamente a | |
Receita de Exportação"""), | |
("53", """53 - Operação com Direito a Crédito - Vinculada a Receitas | |
Tributadas e Não-Tributadas no Mercado Interno"""), | |
("54", """54 - Operação com Direito a Crédito - Vinculada a Receitas | |
Tributadas no Mercado Interno e de Exportação"""), | |
("55", """55 - Operação com Direito a Crédito - Vinculada a Receitas Não- | |
Tributadas no Mercado Interno e de Exportação"""), | |
("56", """56 - Operação com Direito a Crédito - Vinculada a Receitas | |
Tributadas e Não-Tributadas no Mercado Interno, e de | |
Exportação"""), | |
("60", """60 - Crédito Presumido - Operação de Aquisição Vinculada | |
Exclusivamente a Receita Tributada no Mercado Interno"""), | |
("61", """61 - Crédito Presumido - Operação de Aquisição Vinculada | |
Exclusivamente a Receita Não-Tributada no Mercado Interno"""), | |
("62", """62 - Crédito Presumido - Operação de Aquisição Vinculada | |
Exclusivamente a Receita de Exportação"""), | |
("63", """63 - Crédito Presumido - Operação de Aquisição Vinculada a | |
Receitas Tributadas e Não-Tributadas no Mercado Interno"""), | |
("64", """64 - Crédito Presumido - Operação de Aquisição Vinculada a | |
Receitas Tributadas no Mercado Interno e de Exportação"""), | |
("65", """65 - Crédito Presumido - Operação de Aquisição Vinculada a | |
Receitas Não-Tributadas no Mercado Interno e de Exportação"""), | |
("66", """66 - Crédito Presumido - Operação de Aquisição Vinculada a | |
Receitas Tributadas e Não-Tributadas no Mercado Interno, e de | |
Exportação"""), | |
("67", "67 - Crédito Presumido - Outras Operações"), | |
("70", "70 - Operação de Aquisição sem Direito a Crédito"), | |
("71", "71 - Operação de Aquisição com Isenção"), | |
("72", "72 - Operação de Aquisição com Suspensão"), | |
("73", "73 - Operação de Aquisição a Alíquota Zero"), | |
("74", "74 - Operação de Aquisição sem Incidência da Contribuição"), | |
("75", "75 - Operação de Aquisição por Substituição Tributária"), | |
("98", "98 - Outras Operações de Entrada"), | |
("99", "99 - Outras Operações."), | |
] | |
# "Código da Situação Tributária do IPI:" | |
CSTType70 = [ | |
("00", "00-Entrada com recuperação de crédito"), | |
("49", "49 - Outras entradas"), | |
("50", "50-Saída tributada"), | |
("99", "99-Outras saídas"), | |
] | |
# "Código da Situação Tributária do IPI:" | |
CSTType71 = [ | |
("01", "01-Entrada tributada com alíquota zero"), | |
("02", "02-Entrada isenta"), | |
("03", "03-Entrada não-tributada"), | |
("04", "04-Entrada imune"), | |
("05", "05-Entrada com suspensão"), | |
("51", "51-Saída tributada com alíquota zero"), | |
("52", "52-Saída isenta"), | |
("53", "53-Saída não-tributada"), | |
("54", "54-Saída imune"), | |
("55", "55-Saída com suspensão"), | |
] | |
CSTType8 = [ | |
("10", """10 - Tributada e com cobrança do ICMS por substituição | |
tributária"""), | |
] | |
# "Tipo Ambiente" | |
TAmb = [ | |
("1", "1"), | |
("2", "2"), | |
] | |
# "Tipo Código da Lista de Serviços LC 116/2003" | |
TCListServ = [ | |
("01.01", "01.01"), | |
("01.02", "01.02"), | |
("01.03", "01.03"), | |
("01.04", "01.04"), | |
("01.05", "01.05"), | |
("01.06", "01.06"), | |
("01.07", "01.07"), | |
("01.08", "01.08"), | |
("02.01", "02.01"), | |
("03.02", "03.02"), | |
("03.03", "03.03"), | |
("03.04", "03.04"), | |
("03.05", "03.05"), | |
("04.01", "04.01"), | |
("04.02", "04.02"), | |
("04.03", "04.03"), | |
("04.04", "04.04"), | |
("04.05", "04.05"), | |
("04.06", "04.06"), | |
("04.07", "04.07"), | |
("04.08", "04.08"), | |
("04.09", "04.09"), | |
("04.10", "04.10"), | |
("04.11", "04.11"), | |
("04.12", "04.12"), | |
("04.13", "04.13"), | |
("04.14", "04.14"), | |
("04.15", "04.15"), | |
("04.16", "04.16"), | |
("04.17", "04.17"), | |
("04.18", "04.18"), | |
("04.19", "04.19"), | |
("04.20", "04.20"), | |
("04.21", "04.21"), | |
("04.22", "04.22"), | |
("04.23", "04.23"), | |
("05.01", "05.01"), | |
("05.02", "05.02"), | |
("05.03", "05.03"), | |
("05.04", "05.04"), | |
("05.05", "05.05"), | |
("05.06", "05.06"), | |
("05.07", "05.07"), | |
("05.08", "05.08"), | |
("05.09", "05.09"), | |
("06.01", "06.01"), | |
("06.02", "06.02"), | |
("06.03", "06.03"), | |
("06.04", "06.04"), | |
("06.05", "06.05"), | |
("07.01", "07.01"), | |
("07.02", "07.02"), | |
("07.03", "07.03"), | |
("07.04", "07.04"), | |
("07.05", "07.05"), | |
("07.06", "07.06"), | |
("07.07", "07.07"), | |
("07.08", "07.08"), | |
("07.09", "07.09"), | |
("07.10", "07.10"), | |
("07.11", "07.11"), | |
("07.12", "07.12"), | |
("07.13", "07.13"), | |
("07.16", "07.16"), | |
("07.17", "07.17"), | |
("07.18", "07.18"), | |
("07.19", "07.19"), | |
("07.20", "07.20"), | |
("07.21", "07.21"), | |
("07.22", "07.22"), | |
("08.01", "08.01"), | |
("08.02", "08.02"), | |
("09.01", "09.01"), | |
("09.02", "09.02"), | |
("09.03", "09.03"), | |
("10.01", "10.01"), | |
("10.02", "10.02"), | |
("10.03", "10.03"), | |
("10.04", "10.04"), | |
("10.05", "10.05"), | |
("10.06", "10.06"), | |
("10.07", "10.07"), | |
("10.08", "10.08"), | |
("10.09", "10.09"), | |
("10.10", "10.10"), | |
("11.01", "11.01"), | |
("11.02", "11.02"), | |
("11.03", "11.03"), | |
("11.04", "11.04"), | |
("12.01", "12.01"), | |
("12.02", "12.02"), | |
("12.03", "12.03"), | |
("12.04", "12.04"), | |
("12.05", "12.05"), | |
("12.06", "12.06"), | |
("12.07", "12.07"), | |
("12.08", "12.08"), | |
("12.09", "12.09"), | |
("12.10", "12.10"), | |
("12.11", "12.11"), | |
("12.12", "12.12"), | |
("12.13", "12.13"), | |
("12.14", "12.14"), | |
("12.15", "12.15"), | |
("12.16", "12.16"), | |
("12.17", "12.17"), | |
("13.02", "13.02"), | |
("13.03", "13.03"), | |
("13.04", "13.04"), | |
("13.05", "13.05"), | |
("14.01", "14.01"), | |
("14.02", "14.02"), | |
("14.03", "14.03"), | |
("14.04", "14.04"), | |
("14.05", "14.05"), | |
("14.06", "14.06"), | |
("14.07", "14.07"), | |
("14.08", "14.08"), | |
("14.09", "14.09"), | |
("14.10", "14.10"), | |
("14.11", "14.11"), | |
("14.12", "14.12"), | |
("14.13", "14.13"), | |
("15.01", "15.01"), | |
("15.02", "15.02"), | |
("15.03", "15.03"), | |
("15.04", "15.04"), | |
("15.05", "15.05"), | |
("15.06", "15.06"), | |
("15.07", "15.07"), | |
("15.08", "15.08"), | |
("15.09", "15.09"), | |
("15.10", "15.10"), | |
("15.11", "15.11"), | |
("15.12", "15.12"), | |
("15.13", "15.13"), | |
("15.14", "15.14"), | |
("15.15", "15.15"), | |
("15.16", "15.16"), | |
("15.17", "15.17"), | |
("15.18", "15.18"), | |
("16.01", "16.01"), | |
("17.01", "17.01"), | |
("17.02", "17.02"), | |
("17.03", "17.03"), | |
("17.04", "17.04"), | |
("17.05", "17.05"), | |
("17.06", "17.06"), | |
("17.08", "17.08"), | |
("17.09", "17.09"), | |
("17.10", "17.10"), | |
("17.11", "17.11"), | |
("17.12", "17.12"), | |
("17.13", "17.13"), | |
("17.14", "17.14"), | |
("17.15", "17.15"), | |
("17.16", "17.16"), | |
("17.17", "17.17"), | |
("17.18", "17.18"), | |
("17.19", "17.19"), | |
("17.20", "17.20"), | |
("17.21", "17.21"), | |
("17.22", "17.22"), | |
("17.23", "17.23"), | |
("17.24", "17.24"), | |
("17.25", "17.25"), | |
("18.01", "18.01"), | |
("19.01", "19.01"), | |
("20.01", "20.01"), | |
("20.02", "20.02"), | |
("20.03", "20.03"), | |
("21.01", "21.01"), | |
("22.01", "22.01"), | |
("23.01", "23.01"), | |
("24.01", "24.01"), | |
("25.01", "25.01"), | |
("25.02", "25.02"), | |
("25.03", "25.03"), | |
("25.04", "25.04"), | |
("26.01", "26.01"), | |
("27.01", "27.01"), | |
("28.01", "28.01"), | |
("29.01", "29.01"), | |
("30.01", "30.01"), | |
("31.01", "31.01"), | |
("32.01", "32.01"), | |
("33.01", "33.01"), | |
("34.01", "34.01"), | |
("35.01", "35.01"), | |
("36.01", "36.01"), | |
("37.01", "37.01"), | |
("38.01", "38.01"), | |
("39.01", "39.01"), | |
("40.01", "40.01"), | |
] | |
# "Tipo Código de orgão (UF da tabela do IBGE + 90 RFB)" | |
TCOrgaoIBGE = [ | |
("11", "11"), | |
("12", "12"), | |
("13", "13"), | |
("14", "14"), | |
("15", "15"), | |
("16", "16"), | |
("17", "17"), | |
("21", "21"), | |
("22", "22"), | |
("23", "23"), | |
("24", "24"), | |
("25", "25"), | |
("26", "26"), | |
("27", "27"), | |
("28", "28"), | |
("29", "29"), | |
("31", "31"), | |
("32", "32"), | |
("33", "33"), | |
("35", "35"), | |
("41", "41"), | |
("42", "42"), | |
("43", "43"), | |
("50", "50"), | |
("51", "51"), | |
("52", "52"), | |
("53", "53"), | |
("90", "90"), | |
("91", "91"), | |
("92", "92"), | |
] | |
# "Tipo Código da UF da tabela do IBGE" | |
TCodUfIBGE = [ | |
("11", "11"), | |
("12", "12"), | |
("13", "13"), | |
("14", "14"), | |
("15", "15"), | |
("16", "16"), | |
("17", "17"), | |
("21", "21"), | |
("22", "22"), | |
("23", "23"), | |
("24", "24"), | |
("25", "25"), | |
("26", "26"), | |
("27", "27"), | |
("28", "28"), | |
("29", "29"), | |
("31", "31"), | |
("32", "32"), | |
("33", "33"), | |
("35", "35"), | |
("41", "41"), | |
("42", "42"), | |
("43", "43"), | |
("50", "50"), | |
("51", "51"), | |
("52", "52"), | |
("53", "53"), | |
] | |
# """Tipo Finalidade da NF-e (1=Normal; 2=Complementar; 3=Ajuste; | |
# 4=Devolução/Retorno)""" | |
TFinNFe = [ | |
("1", "1"), | |
("2", "2"), | |
("3", "3"), | |
("4", "4"), | |
] | |
# "Tipo Modelo Documento Fiscal" | |
TMod = [ | |
("55", "55"), | |
("65", "65"), | |
] | |
# "Tipo processo de emissão da NF-e" | |
TProcEmi = [ | |
("0", "0"), | |
("1", "1"), | |
("2", "2"), | |
("3", "3"), | |
] | |
TTransformURI = [ | |
("http://www.w3.org/2000/09/xmldsi", """http://www.w3.org/2000/09/xmldsig# | |
enveloped-signature"""), | |
("http://www.w3.org/TR/2001/REC-xm", """http://www.w3.org/TR/2001/REC- | |
xml-c14n-20010315"""), | |
] | |
# "Tipo Sigla da UF" | |
TUf = [ | |
("AC", "AC"), | |
("AL", "AL"), | |
("AM", "AM"), | |
("AP", "AP"), | |
("BA", "BA"), | |
("CE", "CE"), | |
("DF", "DF"), | |
("ES", "ES"), | |
("GO", "GO"), | |
("MA", "MA"), | |
("MG", "MG"), | |
("MS", "MS"), | |
("MT", "MT"), | |
("PA", "PA"), | |
("PB", "PB"), | |
("PE", "PE"), | |
("PI", "PI"), | |
("PR", "PR"), | |
("RJ", "RJ"), | |
("RN", "RN"), | |
("RO", "RO"), | |
("RR", "RR"), | |
("RS", "RS"), | |
("SC", "SC"), | |
("SE", "SE"), | |
("SP", "SP"), | |
("TO", "TO"), | |
("EX", "EX"), | |
] | |
# "Tipo Sigla da UF de emissor // acrescentado em 24/10/08" | |
TUfEmi = [ | |
("AC", "AC"), | |
("AL", "AL"), | |
("AM", "AM"), | |
("AP", "AP"), | |
("BA", "BA"), | |
("CE", "CE"), | |
("DF", "DF"), | |
("ES", "ES"), | |
("GO", "GO"), | |
("MA", "MA"), | |
("MG", "MG"), | |
("MS", "MS"), | |
("MT", "MT"), | |
("PA", "PA"), | |
("PB", "PB"), | |
("PE", "PE"), | |
("PI", "PI"), | |
("PR", "PR"), | |
("RJ", "RJ"), | |
("RN", "RN"), | |
("RO", "RO"), | |
("RR", "RR"), | |
("RS", "RS"), | |
("SC", "SC"), | |
("SE", "SE"), | |
("SP", "SP"), | |
("TO", "TO"), | |
] | |
# "Tipo Origem da mercadoria CST ICMS origem da mercadoria" | |
Torig = [ | |
("0", "0-Nacional exceto as indicadas nos códigos 3, 4, 5 e 8"), | |
("1", "1-Estrangeira - Importação direta"), | |
("2", "2-Estrangeira - Adquirida no mercado interno"), | |
("3", "3-Nacional, conteudo superior 40% e inferior ou igual a 70%"), | |
("4", "4-Nacional, processos produtivos básicos"), | |
("5", "5-Nacional, conteudo inferior 40%"), | |
("6", """6-Estrangeira - Importação direta, com similar nacional, lista | |
CAMEX"""), | |
("7", "7-Estrangeira - mercado interno, sem simular,lista CAMEX"), | |
("8", "8-Nacional, Conteúdo de Importação superior a 70%."), | |
] | |
# "Informa-se o veículo tem VIN (chassi) remarcado." | |
VINType = [ | |
("R", "R-Remarcado"), | |
("N", "N-NormalVIN"), | |
] | |
# "Código do país" | |
cPaisType62 = [ | |
("1058", "1058"), | |
] | |
# "Código do regime especial de tributação" | |
cRegTribType = [ | |
("1", "1"), | |
("2", "2"), | |
("3", "3"), | |
("4", "4"), | |
("5", "5"), | |
("6", "6"), | |
] | |
# """Condição do veículo (1 - acabado; 2 - inacabado; 3 - semi- | |
# acabado)""" | |
condVeicType = [ | |
("1", "1"), | |
("2", "2"), | |
("3", "3"), | |
] | |
# """Identificador de Local de destino da operação | |
# (1-Interna;2-Interestadual;3-Exterior)""" | |
idDestType = [ | |
("1", "1"), | |
("2", "2"), | |
("3", "3"), | |
] | |
indEscalaType = [ | |
("S", "S"), | |
("N", "N"), | |
] | |
# """Indica operação com consumidor final (0-Não;1-Consumidor Final)""" | |
indFinalType = [ | |
("0", "0"), | |
("1", "1"), | |
] | |
# "Indicador da IE do destinatário:" | |
indIEDestType = [ | |
("1", "1 – Contribuinte ICMSpagamento à vista"), | |
("2", "2 – Contribuinte isento de inscrição"), | |
("9", "9 – Não Contribuinte"), | |
] | |
# "Exibilidade do ISS" | |
indISSType = [ | |
("1", "1-Exigível"), | |
("2", "2-Não incidente"), | |
("3", "3-Isenção"), | |
("4", "4-Exportação"), | |
("5", "5-Imunidade"), | |
("6", "6-Exig.Susp. Judicial"), | |
("7", "7-Exig.Susp. ADM"), | |
] | |
# "Indicador de Incentivo Fiscal. 1=Sim; 2=Não" | |
indIncentivoType = [ | |
("1", "1"), | |
("2", "2"), | |
] | |
# """Indicador da Forma de Pagamento | |
# 0-Pagamento à Vista | |
# 1-Pagamento à Prazo""" | |
indPagType = [ | |
("0", "0"), | |
("1", "1"), | |
] | |
# """Indicador de presença do comprador no estabelecimento comercial no | |
# momento da oepração | |
# (0-Não se aplica (ex. | |
# Nota Fiscal complementar ou de ajuste | |
# 1-Operação presencial | |
# 2-Não presencial, internet | |
# 3-Não presencial, teleatendimento | |
# 4-NFC-e entrega em domicílio | |
# 5-Operação presencial, fora do estabelecimento | |
# 9-Não presencial, outros)""" | |
indPresType = [ | |
("0", "0"), | |
("1", "1"), | |
("2", "2"), | |
("3", "3"), | |
("4", "4"), | |
("5", "5"), | |
("9", "9"), | |
] | |
# "Origem do processo, informar com:" | |
indProcType = [ | |
("0", "0 - SEFAZ"), | |
("1", "1 - Justiça Federal"), | |
("2", "2 - Justiça Estadual"), | |
("3", "3 - Secex/RFB"), | |
("9", "9 - Outros"), | |
] | |
# "Indicador de processamento síncrono. 0=NÃO; 1=SIM=Síncrono" | |
indSincType = [ | |
("0", "0"), | |
("1", "1"), | |
] | |
# "Este campo deverá ser preenchido com:" | |
indTotType = [ | |
("0", """0 – o valor do item (vProd) não compõe o valor total da NF-e | |
(vProd)"""), | |
("1", """1 – o valor do item (vProd) compõe o valor total da NF-e | |
(vProd)"""), | |
] | |
# "Modalidade de determinação da BC do ICMS ST:" | |
modBCSTType = [ | |
("0", "0 – Preço tabelado ou máximo sugerido"), | |
("1", "1 - Lista Negativa (valor)"), | |
("2", "2 - Lista Positiva (valor)"), | |
("3", "3 - Lista Neutra (valor)"), | |
("4", "4 - Margem Valor Agregado (%)"), | |
("5", "5 - Pauta (valor)"), | |
] | |
# "Modalidade de determinação da BC do ICMS ST:" | |
modBCSTType13 = [ | |
("0", "0 – Preço tabelado ou máximo sugerido"), | |
("1", "1 - Lista Negativa (valor)"), | |
("2", "2 - Lista Positiva (valor)"), | |
("3", "3 - Lista Neutra (valor)"), | |
("4", "4 - Margem Valor Agregado (%)"), | |
("5", "5 - Pauta (valor)."), | |
] | |
# "Modalidade de determinação da BC do ICMS ST:" | |
modBCSTType22 = [ | |
("0", "0 – Preço tabelado ou máximo sugerido"), | |
("1", "1 - Lista Negativa (valor)"), | |
("2", "2 - Lista Positiva (valor)"), | |
("3", "3 - Lista Neutra (valor)"), | |
("4", "4 - Margem Valor Agregado (%)"), | |
("5", "5 - Pauta (valor)."), | |
] | |
# "Modalidade de determinação da BC do ICMS ST:" | |
modBCSTType26 = [ | |
("0", "0 – Preço tabelado ou máximo sugerido"), | |
("1", "1 - Lista Negativa (valor)"), | |
("2", "2 - Lista Positiva (valor)"), | |
("3", "3 - Lista Neutra (valor)"), | |
("4", "4 - Margem Valor Agregado (%)"), | |
("5", "5 - Pauta (valor)."), | |
] | |
# "Modalidade de determinação da BC do ICMS ST:" | |
modBCSTType30 = [ | |
("0", "0 – Preço tabelado ou máximo sugerido"), | |
("1", "1 - Lista Negativa (valor)"), | |
("2", "2 - Lista Positiva (valor)"), | |
("3", "3 - Lista Neutra (valor)"), | |
("4", "4 - Margem Valor Agregado (%)"), | |
("5", "5 - Pauta (valor)."), | |
] | |
# "Modalidade de determinação da BC do ICMS ST:" | |
modBCSTType34 = [ | |
("0", "0 – Preço tabelado ou máximo sugerido"), | |
("1", "1 - Lista Negativa (valor)"), | |
("2", "2 - Lista Positiva (valor)"), | |
("3", "3 - Lista Neutra (valor)"), | |
("4", "4 - Margem Valor Agregado (%)"), | |
("5", "5 - Pauta (valor). (v2.0)"), | |
] | |
# "Modalidade de determinação da BC do ICMS ST:" | |
modBCSTType36 = [ | |
("0", "0 – Preço tabelado ou máximo sugerido"), | |
("1", "1 - Lista Negativa (valor)"), | |
("2", "2 - Lista Positiva (valor)"), | |
("3", "3 - Lista Neutra (valor)"), | |
("4", "4 - Margem Valor Agregado (%)"), | |
("5", "5 - Pauta (valor). (v2.0)"), | |
] | |
# "Modalidade de determinação da BC do ICMS ST:" | |
modBCSTType40 = [ | |
("0", "0 – Preço tabelado ou máximo sugerido"), | |
("1", "1 - Lista Negativa (valor)"), | |
("2", "2 - Lista Positiva (valor)"), | |
("3", "3 - Lista Neutra (valor)"), | |
("4", "4 - Margem Valor Agregado (%)"), | |
("5", "5 - Pauta (valor)."), | |
] | |
# "Modalidade de determinação da BC do ICMS:" | |
modBCType = [ | |
("0", "0 - Margem Valor Agregado (%)"), | |
("1", "1 - Pauta (valor)"), | |
("2", "2 - Preço Tabelado Máximo (valor)"), | |
("3", "3 - Valor da Operação."), | |
] | |
# "Modalidade de determinação da BC do ICMS:" | |
modBCType11 = [ | |
("0", "0 - Margem Valor Agregado (%)"), | |
("1", "1 - Pauta (valor)"), | |
("2", "2 - Preço Tabelado Máximo (valor)"), | |
("3", "3 - Valor da Operação."), | |
] | |
# "Modalidade de determinação da BC do ICMS:" | |
modBCType18 = [ | |
("0", "0 - Margem Valor Agregado (%)"), | |
("1", "1 - Pauta (valor)"), | |
("2", "2 - Preço Tabelado Máximo (valor)"), | |
("3", "3 - Valor da Operação."), | |
] | |
# "Modalidade de determinação da BC do ICMS:" | |
modBCType21 = [ | |
("0", "0 - Margem Valor Agregado (%)"), | |
("1", "1 - Pauta (valor)"), | |
("2", "2 - Preço Tabelado Máximo (valor)"), | |
("3", "3 - Valor da Operação."), | |
] | |
# "Modalidade de determinação da BC do ICMS:" | |
modBCType25 = [ | |
("0", "0 - Margem Valor Agregado (%)"), | |
("1", "1 - Pauta (valor)"), | |
("2", "2 - Preço Tabelado Máximo (valor)"), | |
("3", "3 - Valor da Operação."), | |
] | |
# "Modalidade de determinação da BC do ICMS:" | |
modBCType29 = [ | |
("0", "0 - Margem Valor Agregado (%)"), | |
("1", "1 - Pauta (valor)"), | |
("2", "2 - Preço Tabelado Máximo (valor)"), | |
("3", "3 - Valor da Operação."), | |
] | |
# "Modalidade de determinação da BC do ICMS:" | |
modBCType39 = [ | |
("0", "0 - Margem Valor Agregado (%)"), | |
("1", "1 - Pauta (valor)"), | |
("2", "2 - Preço Tabelado Máximo (valor)"), | |
("3", "3 - Valor da Operação."), | |
] | |
# "Modalidade de determinação da BC do ICMS:" | |
modBCType9 = [ | |
("0", "0 - Margem Valor Agregado (%)"), | |
("1", "1 - Pauta (valor)"), | |
("2", "2 - Preço Tabelado Máximo (valor)"), | |
("3", "3 - Valor da Operação."), | |
] | |
# "Modalidade do frete" | |
modFreteType = [ | |
("0", "0- Contratação do Frete por conta do Remetente (CIF)"), | |
("1", """1- Contratação do Frete por conta do destinatário/remetente | |
(FOB)"""), | |
("2", "2- Contratação do Frete por conta de terceiros"), | |
("3", "3- Transporte próprio por conta do remetente"), | |
("4", "4- Transporte próprio por conta do destinatário"), | |
("9", "9- Sem Ocorrência de transporte."), | |
] | |
# """Código do modelo do Documento Fiscal. Utilizar 01 para NF modelo | |
# 1/1A e 02 para NF modelo 02""" | |
modType = [ | |
("01", "01"), | |
("02", "02"), | |
] | |
# """Código do modelo do Documento Fiscal - utilizar 04 para NF de | |
# produtor ou 01 para NF Avulsa""" | |
modType2 = [ | |
("01", "01"), | |
("04", "04"), | |
] | |
# """Código do modelo do Documento Fiscal | |
# Preencher com "2B", quando se tratar de Cupom Fiscal emitido por máquina | |
# registradora (não ECF), com "2C", quando se tratar de Cupom Fiscal PDV, | |
# ou "2D", quando se tratar de Cupom Fiscal (emitido por ECF)""" | |
modType3 = [ | |
("2B", "2B"), | |
("2C", "2C"), | |
("2D", "2D"), | |
] | |
# "Motivo da desoneração do ICMS" | |
motDesICMSType = [ | |
("3", "3-Uso na agropecuária"), | |
("9", "9-Outros"), | |
("12", "12-Fomento agropecuário"), | |
] | |
# "Motivo da desoneração do ICMS" | |
motDesICMSType14 = [ | |
("6", "6-Utilitários Motocicleta AÁrea Livre"), | |
("7", "7-SUFRAMA"), | |
("9", "9-Outros"), | |
] | |
# """Este campo será preenchido quando o campo anterior estiver | |
# preenchido. | |
# Informar o motivo da desoneração:""" | |
motDesICMSType16 = [ | |
("1", "1 – Táxi"), | |
("3", "3 – Produtor Agropecuário"), | |
("4", "4 – Frotista/Locadora"), | |
("5", "5 – Diplomático/Consular"), | |
("6", """6 – Utilitários e Motocicletas da Amazônia Ocidental e Áreas de | |
Livre Comércio (Resolução 714/88 e 790/94 – CONTRAN e suas | |
alterações)"""), | |
("7", "7 – SUFRAMA"), | |
("8", "8 - Venda a órgão Público"), | |
("9", "9 – Outros"), | |
("10", "10- Deficiente Condutor"), | |
("11", "11- Deficiente não condutor"), | |
("16", "16 - Olimpíadas Rio 2016"), | |
("90", "90 - Solicitado pelo Fisco"), | |
] | |
# "Motivo da desoneração do ICMS" | |
motDesICMSType23 = [ | |
("3", "3-Uso na agropecuária"), | |
("9", "9-Outros"), | |
("12", "12-Fomento agropecuário"), | |
] | |
# "Motivo da desoneração do ICMS" | |
motDesICMSType27 = [ | |
("3", "3-Uso na agropecuária"), | |
("9", "9-Outros"), | |
("12", "12-Fomento agropecuário"), | |
] | |
# """Alíquota interestadual das UF envolvidas | |
# - 4% alíquota interestadual para produtos importados | |
# - 7% para os Estados de origem do Sul e Sudeste (exceto ES), destinado | |
# para os Estados do Norte e Nordeste ou ES | |
# - 12% para os demais casos.""" | |
pICMSInterType = [ | |
("4.00", "4.00"), | |
("7.00", "7.00"), | |
("12.00", "12.00"), | |
] | |
# "Bandeira da operadora de cartão de crédito/débito" | |
tBandType = [ | |
("01", "01–Visa"), | |
("02", "02–Mastercard"), | |
("03", "03–American Express"), | |
("04", "04–Sorocred"), | |
("05", "05-Diners Club"), | |
("06", "06-Elo"), | |
("07", "07-Hipercard"), | |
("08", "08-Aura"), | |
("09", "09-Cabal"), | |
("99", "99–Outros"), | |
] | |
# "Forma de Pagamento" | |
tPagType = [ | |
("01", "01-Dinheiro"), | |
("02", "02-Cheque"), | |
("03", "03-Cartão de Crédito"), | |
("04", "04-Cartão de Débito"), | |
("05", "05-Crédito Loja"), | |
("10", "10-Vale Alimentação"), | |
("11", "11-Vale Refeição"), | |
("12", "12-Vale Presente"), | |
("13", "13-Vale Combustível"), | |
("14", "14 - Duplicata Mercantil"), | |
("15", "15 - Boleto Bancario"), | |
("90", "90 - Sem Pagamento"), | |
("99", "99 - Outros"), | |
] | |
# """Indicador do tipo de arma de fogo (0 - Uso permitido; 1 - Uso | |
# restrito)""" | |
tpArmaType = [ | |
("0", "0"), | |
("1", "1"), | |
] | |
# "Forma de emissão da NF-e" | |
tpEmisType = [ | |
("1", "1 - Normal"), | |
("2", "2 - Contingência FS"), | |
("3", "3 - Contingência SCAN"), | |
("4", "4 - Contingência DPEC"), | |
("5", "5 - Contingência FSDA"), | |
("6", "6 - Contingência SVC - AN"), | |
("7", "7 - Contingência SVC - RS"), | |
("9", "9 - Contingência off-line NFC-e"), | |
] | |
# """Formato de impressão do DANFE (0-sem DANFE;1-DANFe Retrato; | |
# 2-DANFe Paisagem;3-DANFe Simplificado; | |
# 4-DANFe NFC-e;5-DANFe NFC-e em mensagem eletrônica)""" | |
tpImpType = [ | |
("0", "0"), | |
("1", "1"), | |
("2", "2"), | |
("3", "3"), | |
("4", "4"), | |
("5", "5"), | |
] | |
# """Tipo de Integração do processo de pagamento com o sistema de | |
# automação da empresa/""" | |
tpIntegraType = [ | |
("1", """1=Pagamento integrado com o sistema de automação da empresa Ex. | |
equipamento TEF , Comercio Eletronico"""), | |
("2", """2=Pagamento não integrado com o sistema de automação da empresa | |
Ex: equipamento POS"""), | |
] | |
# """Forma de Importação quanto a intermediação | |
# 1-por conta propria;2-por conta e ordem;3-encomenda""" | |
tpIntermedioType = [ | |
("1", "1"), | |
("2", "2"), | |
("3", "3"), | |
] | |
# "Tipo do Documento Fiscal (0 - entrada; 1 - saída)" | |
tpNFType = [ | |
("0", "0"), | |
("1", "1"), | |
] | |
# """Tipo da Operação (1 - Venda concessionária; 2 - Faturamento | |
# direto; 3 - Venda direta; 0 - Outros)""" | |
tpOpType = [ | |
("0", "0"), | |
("1", "1"), | |
("2", "2"), | |
("3", "3"), | |
] | |
# "Restrição" | |
tpRestType = [ | |
("0", "0 - Não há"), | |
("1", "1 - Alienação Fiduciária"), | |
("2", "2 - Arrendamento Mercantil"), | |
("3", "3 - Reserva de Domínio"), | |
("4", "4 - Penhor de Veículos"), | |
("9", "9 - outras."), | |
] | |
# """Via de transporte internacional informada na DI | |
# 1-Maritima;2-Fluvial;3-Lacustre;4-Aerea;5-Postal;6-Ferroviaria;7-Rodoviar | |
# ia;8-Conduto;9-Meios Proprios;10-Entrada/Saida Ficta.""" | |
tpViaTranspType = [ | |
("1", "1"), | |
("2", "2"), | |
("3", "3"), | |
("4", "4"), | |
("5", "5"), | |
("6", "6"), | |
("7", "7"), | |
("8", "8"), | |
("9", "9"), | |
("10", "10"), | |
("11", "11"), | |
("12", "12"), | |
] | |
# "Nome do país" | |
xPaisType63 = [ | |
("Brasil", "Brasil"), | |
("BRASIL", "BRASIL"), | |
] | |
class CIDE(spec_models.AbstractSpecMixin): | |
"CIDE Combustíveis" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.cide' | |
_generateds_type = 'CIDEType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_qBCProd' | |
nfe_qBCProd = fields.Monetary( | |
digits=4, string="BC do CIDE", xsd_required=True, | |
help="BC do CIDE ( Quantidade comercializada)") | |
nfe_vAliqProd = fields.Monetary( | |
digits=4, string="Alíquota do CIDE (em reais)", | |
xsd_required=True, | |
help="Alíquota do CIDE (em reais)") | |
nfe_vCIDE = fields.Monetary( | |
digits=2, string="Valor do CIDE", xsd_required=True) | |
class COFINSAliq(spec_models.AbstractSpecMixin): | |
"""Código de Situação Tributária do COFINS. | |
01 – Operação Tributável - Base de Cálculo = Valor da Operação | |
Alíquota Normal (Cumulativo/Não Cumulativo); | |
02 - Operação Tributável - Base de Calculo = Valor da Operação | |
(Alíquota Diferenciada);""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.cofinsaliq' | |
_generateds_type = 'COFINSAliqType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_CST' | |
nfe_CST = fields.Selection( | |
CSTType45, | |
string="Código de Situação Tributária do COFINS", | |
xsd_required=True, | |
help=("Código de Situação Tributária do COFINS." | |
"01 – Operação Tributável - Base de Cálculo = Valor da Operação" | |
"Alíquota Normal (Cumulativo/Não Cumulativo);" | |
"02 - Operação Tributável - Base de Calculo = Valor da Operação" | |
"(Alíquota Diferenciada);")) | |
nfe_vBC = fields.Monetary( | |
digits=2, string="Valor da BC do COFINS", xsd_required=True) | |
nfe_pCOFINS = fields.Monetary( | |
digits=2, string="Alíquota do COFINS (em percentual)", | |
xsd_required=True) | |
nfe_vCOFINS = fields.Monetary( | |
digits=2, string="Valor do COFINS", xsd_required=True) | |
class COFINSNT(spec_models.AbstractSpecMixin): | |
"""Código de Situação Tributária do COFINS: | |
04 - Operação Tributável - Tributação Monofásica - (Alíquota Zero); | |
06 - Operação Tributável - Alíquota Zero; | |
07 - Operação Isenta da contribuição; | |
08 - Operação Sem Incidência da contribuição; | |
09 - Operação com suspensão da contribuição;""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.cofinsnt' | |
_generateds_type = 'COFINSNTType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_CST' | |
nfe_CST = fields.Selection( | |
CSTType47, | |
string="Código de Situação Tributária do COFINS", | |
xsd_required=True, | |
help=("Código de Situação Tributária do COFINS:" | |
"04 - Operação Tributável - Tributação Monofásica - (Alíquota" | |
"Zero);" | |
"05 - Operação Tributável (ST);" | |
"06 - Operação Tributável - Alíquota Zero;" | |
"07 - Operação Isenta da contribuição;" | |
"08 - Operação Sem Incidência da contribuição;" | |
"09 - Operação com suspensão da contribuição;")) | |
class COFINSOutr(spec_models.AbstractSpecMixin): | |
"""Código de Situação Tributária do COFINS: | |
49 - Outras Operações de Saída | |
50 - Operação com Direito a Crédito - Vinculada Exclusivamente a | |
Receita Tributada no Mercado Interno | |
51 - Operação com Direito a Crédito – Vinculada Exclusivamente a | |
Receita Não Tributada no Mercado Interno | |
52 - Operação com Direito a Crédito - Vinculada Exclusivamente a | |
Receita de Exportação | |
53 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas e | |
Não-Tributadas no Mercado Interno | |
54 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas | |
no Mercado Interno e de Exportação | |
55 - Operação com Direito a Crédito - Vinculada a Receitas Não- | |
Tributadas no Mercado Interno e de Exportação | |
56 - Operação com Direito a Crédito - Vinculada a Receitas Tributadas e | |
Não-Tributadas no Mercado Interno, e de Exportação | |
60 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente | |
a Receita Tributada no Mercado Interno | |
61 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente | |
a Receita Não-Tributada no Mercado Interno | |
62 - Crédito Presumido - Operação de Aquisição Vinculada Exclusivamente | |
a Receita de Exportação | |
63 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas | |
Tributadas e Não-Tributadas no Mercado Interno | |
64 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas | |
Tributadas no Mercado Interno e de Exportação | |
65 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas | |
Não-Tributadas no Mercado Interno e de Exportação | |
66 - Crédito Presumido - Operação de Aquisição Vinculada a Receitas | |
Tributadas e Não-Tributadas no Mercado Interno, e de Exportação | |
67 - Crédito Presumido - Outras Operações | |
70 - Operação de Aquisição sem Direito a Crédito | |
71 - Operação de Aquisição com Isenção | |
72 - Operação de Aquisição com Suspensão | |
73 - Operação de Aquisição a Alíquota Zero | |
74 - Operação de Aquisição sem Incidência da Contribuição | |
75 - Operação de Aquisição por Substituição Tributária | |
98 - Outras Operações de Entrada | |
99 - Outras Operações.""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.cofinsoutr' | |
_generateds_type = 'COFINSOutrType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_CST' | |
nfe_choice16 = fields.Selection([ | |
('nfe_vBC', 'vBC'), | |
('nfe_pCOFINS', 'pCOFINS'), | |
('nfe_qBCProd', 'qBCProd'), | |
('nfe_vAliqProd', 'vAliqProd')], | |
"vBC/pCOFINS/qBCProd/vAliqProd", | |
default="nfe_vBC") | |
nfe_CST = fields.Selection( | |
CSTType48, | |
string="Código de Situação Tributária do COFINS", | |
xsd_required=True, | |
help=("Código de Situação Tributária do COFINS:" | |
"49 - Outras Operações de Saída" | |
"50 - Operação com Direito a Crédito - Vinculada Exclusivamente" | |
"a Receita Tributada no Mercado Interno" | |
"51 - Operação com Direito a Crédito – Vinculada Exclusivamente" | |
"a Receita Não Tributada no Mercado Interno" | |
"52 - Operação com Direito a Crédito - Vinculada Exclusivamente" | |
"a Receita de Exportação" | |
"53 - Operação com Direito a Crédito - Vinculada a Receitas" | |
"Tributadas e Não-Tributadas no Mercado Interno" | |
"54 - Operação com Direito a Crédito - Vinculada a Receitas" | |
"Tributadas no Mercado Interno e de Exportação" | |
"55 - Operação com Direito a Crédito - Vinculada a Receitas" | |
"Não-Tributadas no Mercado Interno e de" | |
"Exportação" | |
"56 - Operação com Direito a Crédito - Vinculada a Receitas" | |
"Tributadas e Não-Tributadas no Mercado Interno," | |
"e de Exportação" | |
"60 - Crédito Presumido - Operação de Aquisição Vinculada" | |
"Exclusivamente a Receita Tributada no Mercado" | |
"Interno" | |
"61 - Crédito Presumido - Operação de Aquisição Vinculada" | |
"Exclusivamente a Receita Não-Tributada no" | |
"Mercado Interno" | |
"62 - Crédito Presumido - Operação de Aquisição Vinculada" | |
"Exclusivamente a Receita de Exportação" | |
"63 - Crédito Presumido - Operação de Aquisição Vinculada a" | |
"Receitas Tributadas e Não-Tributadas no Mercado" | |
"Interno" | |
"64 - Crédito Presumido - Operação de Aquisição Vinculada a" | |
"Receitas Tributadas no Mercado Interno e de" | |
"Exportação" | |
"65 - Crédito Presumido - Operação de Aquisição Vinculada a" | |
"Receitas Não-Tributadas no Mercado Interno e de" | |
"Exportação" | |
"66 - Crédito Presumido - Operação de Aquisição Vinculada a" | |
"Receitas Tributadas e Não-Tributadas no Mercado" | |
"Interno, e de Exportação" | |
"67 - Crédito Presumido - Outras Operações" | |
"70 - Operação de Aquisição sem Direito a Crédito" | |
"71 - Operação de Aquisição com Isenção" | |
"72 - Operação de Aquisição com Suspensão" | |
"73 - Operação de Aquisição a Alíquota Zero" | |
"74 - Operação de Aquisição sem Incidência da Contribuição" | |
"75 - Operação de Aquisição por Substituição Tributária" | |
"98 - Outras Operações de Entrada" | |
"99 - Outras Operações.")) | |
nfe_vBC = fields.Monetary( | |
digits=2, choice='16', | |
string="Valor da BC do COFINS", xsd_required=True) | |
nfe_pCOFINS = fields.Monetary( | |
digits=2, choice='16', | |
string="Alíquota do COFINS (em percentual)", | |
xsd_required=True) | |
nfe_qBCProd = fields.Monetary( | |
digits=4, choice='16', | |
string="Quantidade Vendida (NT2011/004)", | |
xsd_required=True) | |
nfe_vAliqProd = fields.Monetary( | |
digits=4, choice='16', | |
string="Alíquota do COFINS", | |
xsd_required=True, | |
help="Alíquota do COFINS (em reais) (NT2011/004)") | |
nfe_vCOFINS = fields.Monetary( | |
digits=2, string="Valor do COFINS", xsd_required=True) | |
class COFINSQtde(spec_models.AbstractSpecMixin): | |
"""Código de Situação Tributária do COFINS. | |
03 - Operação Tributável - Base de Calculo = Quantidade Vendida x | |
Alíquota por Unidade de Produto;""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.cofinsqtde' | |
_generateds_type = 'COFINSQtdeType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_CST' | |
nfe_CST = fields.Selection( | |
CSTType46, | |
string="Código de Situação Tributária do COFINS", | |
xsd_required=True, | |
help=("Código de Situação Tributária do COFINS." | |
"03 - Operação Tributável - Base de Calculo = Quantidade" | |
"Vendida x Alíquota por Unidade de Produto;")) | |
nfe_qBCProd = fields.Monetary( | |
digits=4, string="Quantidade Vendida (NT2011/004)", | |
xsd_required=True) | |
nfe_vAliqProd = fields.Monetary( | |
digits=4, string="Alíquota do COFINS", | |
xsd_required=True, | |
help="Alíquota do COFINS (em reais) (NT2011/004)") | |
nfe_vCOFINS = fields.Monetary( | |
digits=2, string="Valor do COFINS", xsd_required=True) | |
class COFINSST(spec_models.AbstractSpecMixin): | |
"""Dados do COFINS da | |
Substituição Tributaria;""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.cofinsst' | |
_generateds_type = 'COFINSSTType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_vBC' | |
nfe_choice17 = fields.Selection([ | |
('nfe_vBC', 'vBC'), | |
('nfe_pCOFINS', 'pCOFINS'), | |
('nfe_qBCProd', 'qBCProd'), | |
('nfe_vAliqProd', 'vAliqProd')], | |
"vBC/pCOFINS/qBCProd/vAliqProd", | |
default="nfe_vBC") | |
nfe_vBC = fields.Monetary( | |
digits=2, choice='17', | |
string="Valor da BC do COFINS ST", | |
xsd_required=True) | |
nfe_pCOFINS = fields.Monetary( | |
digits=2, choice='17', | |
string="Alíquota do COFINS ST(em percentual)", | |
xsd_required=True) | |
nfe_qBCProd = fields.Monetary( | |
digits=4, choice='17', | |
string="Quantidade Vendida", xsd_required=True) | |
nfe_vAliqProd = fields.Monetary( | |
digits=4, choice='17', | |
string="Alíquota do COFINS ST(em reais)", | |
xsd_required=True) | |
nfe_vCOFINS = fields.Monetary( | |
digits=2, string="Valor do COFINS ST", xsd_required=True) | |
class COFINS(spec_models.AbstractSpecMixin): | |
"Dados do COFINS" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.cofins' | |
_generateds_type = 'COFINSType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_COFINSAliq' | |
nfe_choice15 = fields.Selection([ | |
('nfe_COFINSAliq', 'COFINSAliq'), | |
('nfe_COFINSQtde', 'COFINSQtde'), | |
('nfe_COFINSNT', 'COFINSNT'), | |
('nfe_COFINSOutr', 'COFINSOutr')], | |
"COFINSAliq/COFINSQtde/COFINSNT/COFINSOutr", | |
default="nfe_COFINSAliq") | |
nfe_COFINSAliq = fields.Many2one( | |
"nfe.v4_00.cofinsaliq", | |
choice='15', | |
string="Código de Situação Tributária do COFINS", | |
xsd_required=True, | |
help=("Código de Situação Tributária do COFINS." | |
"01 – Operação Tributável - Base de Cálculo = Valor da Operação" | |
"Alíquota Normal (Cumulativo/Não Cumulativo);" | |
"02 - Operação Tributável - Base de Calculo = Valor da Operação" | |
"(Alíquota Diferenciada);")) | |
nfe_COFINSQtde = fields.Many2one( | |
"nfe.v4_00.cofinsqtde", | |
choice='15', | |
string="Código de Situação Tributária do COFINS", | |
xsd_required=True, | |
help=("Código de Situação Tributária do COFINS." | |
"03 - Operação Tributável - Base de Calculo = Quantidade" | |
"Vendida x Alíquota por Unidade de Produto;")) | |
nfe_COFINSNT = fields.Many2one( | |
"nfe.v4_00.cofinsnt", | |
choice='15', | |
string="Código de Situação Tributária do COFINS", | |
xsd_required=True, | |
help=("Código de Situação Tributária do COFINS:" | |
"04 - Operação Tributável - Tributação Monofásica - (Alíquota" | |
"Zero);" | |
"06 - Operação Tributável - Alíquota Zero;" | |
"07 - Operação Isenta da contribuição;" | |
"08 - Operação Sem Incidência da contribuição;" | |
"09 - Operação com suspensão da contribuição;")) | |
nfe_COFINSOutr = fields.Many2one( | |
"nfe.v4_00.cofinsoutr", | |
choice='15', | |
string="Código de Situação Tributária do COFINS", | |
xsd_required=True, | |
help=("Código de Situação Tributária do COFINS:" | |
"49 - Outras Operações de Saída" | |
"50 - Operação com Direito a Crédito - Vinculada Exclusivamente" | |
"a Receita Tributada no Mercado Interno" | |
"51 - Operação com Direito a Crédito – Vinculada Exclusivamente" | |
"a Receita Não Tributada no Mercado Interno" | |
"52 - Operação com Direito a Crédito - Vinculada Exclusivamente" | |
"a Receita de Exportação" | |
"53 - Operação com Direito a Crédito - Vinculada a Receitas" | |
"Tributadas e Não-Tributadas no Mercado Interno" | |
"54 - Operação com Direito a Crédito - Vinculada a Receitas" | |
"Tributadas no Mercado Interno e de Exportação" | |
"55 - Operação com Direito a Crédito - Vinculada a Receitas" | |
"Não-Tributadas no Mercado Interno e de" | |
"Exportação" | |
"56 - Operação com Direito a Crédito - Vinculada a Receitas" | |
"Tributadas e Não-Tributadas no Mercado Interno," | |
"e de Exportação" | |
"60 - Crédito Presumido - Operação de Aquisição Vinculada" | |
"Exclusivamente a Receita Tributada no Mercado" | |
"Interno" | |
"61 - Crédito Presumido - Operação de Aquisição Vinculada" | |
"Exclusivamente a Receita Não-Tributada no" | |
"Mercado Interno" | |
"62 - Crédito Presumido - Operação de Aquisição Vinculada" | |
"Exclusivamente a Receita de Exportação" | |
"63 - Crédito Presumido - Operação de Aquisição Vinculada a" | |
"Receitas Tributadas e Não-Tributadas no Mercado" | |
"Interno" | |
"64 - Crédito Presumido - Operação de Aquisição Vinculada a" | |
"Receitas Tributadas no Mercado Interno e de" | |
"Exportação" | |
"65 - Crédito Presumido - Operação de Aquisição Vinculada a" | |
"Receitas Não-Tributadas no Mercado Interno e de" | |
"Exportação" | |
"66 - Crédito Presumido - Operação de Aquisição Vinculada a" | |
"Receitas Tributadas e Não-Tributadas no Mercado" | |
"Interno, e de Exportação" | |
"67 - Crédito Presumido - Outras Operações" | |
"70 - Operação de Aquisição sem Direito a Crédito" | |
"71 - Operação de Aquisição com Isenção" | |
"72 - Operação de Aquisição com Suspensão" | |
"73 - Operação de Aquisição a Alíquota Zero" | |
"74 - Operação de Aquisição sem Incidência da Contribuição" | |
"75 - Operação de Aquisição por Substituição Tributária" | |
"98 - Outras Operações de Entrada" | |
"99 - Outras Operações.")) | |
class CanonicalizationMethod(spec_models.AbstractSpecMixin): | |
_description = 'canonicalizationmethod' | |
_name = 'nfe.v4_00.canonicalizationmethod' | |
_generateds_type = 'CanonicalizationMethodType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_Algorithm' | |
nfe_Algorithm = fields.Char( | |
string="Algorithm", xsd_required=True) | |
class DI(spec_models.AbstractSpecMixin): | |
"""Delcaração de Importação | |
(NT 2011/004)""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.di' | |
_generateds_type = 'DIType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_nDI' | |
nfe_DI_prod_id = fields.Many2one( | |
"nfe.v4_00.prod") | |
nfe_nDI = fields.Char( | |
string="Numero do Documento de Importação DI/DSI/DA/DRI", | |
xsd_required=True, | |
help=("Numero do Documento de Importação DI/DSI/DA/DRI-E" | |
"(DI/DSI/DA/DRI-E) (NT2011/004)")) | |
nfe_dDI = fields.Char( | |
string="Data de registro da DI/DSI/DA", | |
xsd_required=True, | |
help="Data de registro da DI/DSI/DA (AAAA-MM-DD)") | |
nfe_xLocDesemb = fields.Char( | |
string="Local do desembaraço aduaneiro", | |
xsd_required=True) | |
nfe_UFDesemb = fields.Selection( | |
TUfEmi, | |
string="UF onde ocorreu o desembaraço aduaneiro", | |
xsd_required=True) | |
nfe_dDesemb = fields.Char( | |
string="Data do desembaraço aduaneiro", | |
xsd_required=True, | |
help="Data do desembaraço aduaneiro (AAAA-MM-DD)") | |
nfe_tpViaTransp = fields.Selection( | |
tpViaTranspType, | |
string="Via de transporte internacional informada na DI", | |
xsd_required=True, | |
help=("Via de transporte internacional informada na DI" | |
"1-Maritima;2-Fluvial;3-Lacustre;4-Aerea;5-Postal;6-Ferroviaria" | |
";7-Rodoviaria;8-Conduto;9-Meios" | |
"Proprios;10-Entrada/Saida Ficta.")) | |
nfe_vAFRMM = fields.Monetary( | |
digits=2, | |
string="Valor Adicional ao frete para renovação de marinha mercante") | |
nfe_tpIntermedio = fields.Selection( | |
tpIntermedioType, | |
string="Forma de Importação quanto a intermediação", | |
xsd_required=True, | |
help=("Forma de Importação quanto a intermediação" | |
"1-por conta propria;2-por conta e ordem;3-encomenda")) | |
nfe_CNPJ = fields.Char( | |
string="CNPJ do adquirente ou do encomendante") | |
nfe_UFTerceiro = fields.Selection( | |
TUfEmi, | |
string="Sigla da UF do adquirente ou do encomendante") | |
nfe_cExportador = fields.Char( | |
string="Código do exportador", | |
xsd_required=True, | |
help=("Código do exportador (usado nos sistemas internos de" | |
"informação do emitente da NF-e)")) | |
nfe_adi = fields.One2many( | |
"nfe.v4_00.adi", | |
"nfe_adi_DI_id", | |
string="Adições (NT 2011/004)", xsd_required=True | |
) | |
class DigestMethod(spec_models.AbstractSpecMixin): | |
_description = 'digestmethod' | |
_name = 'nfe.v4_00.digestmethod' | |
_generateds_type = 'DigestMethodType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_Algorithm' | |
nfe_Algorithm = fields.Char( | |
string="Algorithm", xsd_required=True) | |
class ICMS00(spec_models.AbstractSpecMixin): | |
"""Tributação pelo ICMS | |
00 - Tributada integralmente""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.icms00' | |
_generateds_type = 'ICMS00Type' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_orig' | |
nfe_orig = fields.Selection( | |
Torig, | |
string="origem da mercadoria: 0 - Nacional", | |
xsd_required=True, | |
help="Tipo Origem da mercadoria CST ICMS origem da mercadoria") | |
nfe_CST = fields.Selection( | |
CSTType, | |
string="Tributção pelo ICMS", xsd_required=True, | |
help=("Tributção pelo ICMS" | |
"00 - Tributada integralmente")) | |
nfe_modBC = fields.Selection( | |
modBCType, | |
string="Modalidade de determinação da BC do ICMS", | |
xsd_required=True, | |
help=("Modalidade de determinação da BC do ICMS:" | |
"0 - Margem Valor Agregado (%);" | |
"1 - Pauta (valor);" | |
"2 - Preço Tabelado Máximo (valor);" | |
"3 - Valor da Operação.")) | |
nfe_vBC = fields.Monetary( | |
digits=2, string="Valor da BC do ICMS", xsd_required=True) | |
nfe_pICMS = fields.Monetary( | |
digits=2, string="Alíquota do ICMS", xsd_required=True) | |
nfe_vICMS = fields.Monetary( | |
digits=2, string="Valor do ICMS", xsd_required=True) | |
nfe_pFCP = fields.Monetary( | |
digits=2, | |
string="Percentual de ICMS relativo ao Fundo de Combate à Pobreza", | |
help=("Percentual de ICMS relativo ao Fundo de Combate à Pobreza" | |
"(FCP).")) | |
nfe_vFCP = fields.Monetary( | |
digits=2, | |
string="Valor do ICMS relativo ao Fundo de Combate à Pobreza", | |
help="Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP).") | |
class ICMS10(spec_models.AbstractSpecMixin): | |
"""Tributação pelo ICMS | |
10 - Tributada e com cobrança do ICMS por substituição tributária""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.icms10' | |
_generateds_type = 'ICMS10Type' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_orig' | |
nfe_orig = fields.Selection( | |
Torig, | |
string="origem da mercadoria: 0 - Nacional", | |
xsd_required=True, | |
help="Tipo Origem da mercadoria CST ICMS origem da mercadoria") | |
nfe_CST = fields.Selection( | |
CSTType8, | |
string="10", xsd_required=True, | |
help=("10 - Tributada e com cobrança do ICMS por substituição" | |
"tributária")) | |
nfe_modBC = fields.Selection( | |
modBCType9, | |
string="Modalidade de determinação da BC do ICMS", | |
xsd_required=True, | |
help=("Modalidade de determinação da BC do ICMS:" | |
"0 - Margem Valor Agregado (%);" | |
"1 - Pauta (valor);" | |
"2 - Preço Tabelado Máximo (valor);" | |
"3 - Valor da Operação.")) | |
nfe_vBC = fields.Monetary( | |
digits=2, string="Valor da BC do ICMS", xsd_required=True) | |
nfe_pICMS = fields.Monetary( | |
digits=2, string="Alíquota do ICMS", xsd_required=True) | |
nfe_vICMS = fields.Monetary( | |
digits=2, string="Valor do ICMS", xsd_required=True) | |
nfe_vBCFCP = fields.Monetary( | |
digits=2, string="Valor da Base de cálculo do FCP.") | |
nfe_pFCP = fields.Monetary( | |
digits=2, | |
string="Percentual de ICMS relativo ao Fundo de Combate à Pobreza", | |
help=("Percentual de ICMS relativo ao Fundo de Combate à Pobreza" | |
"(FCP).")) | |
nfe_vFCP = fields.Monetary( | |
digits=2, | |
string="Valor do ICMS relativo ao Fundo de Combate à Pobreza", | |
help="Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP).") | |
nfe_modBCST = fields.Selection( | |
modBCSTType, | |
string="Modalidade de determinação da BC do ICMS ST", | |
xsd_required=True, | |
help=("Modalidade de determinação da BC do ICMS ST:" | |
"0 – Preço tabelado ou máximo sugerido;" | |
"1 - Lista Negativa (valor);" | |
"2 - Lista Positiva (valor);" | |
"3 - Lista Neutra (valor);" | |
"4 - Margem Valor Agregado (%);" | |
"5 - Pauta (valor);")) | |
nfe_pMVAST = fields.Monetary( | |
digits=2, string="Percentual da Margem de Valor Adicionado ICMS ST") | |
nfe_pRedBCST = fields.Monetary( | |
digits=2, string="Percentual de redução da BC ICMS ST") | |
nfe_vBCST = fields.Monetary( | |
digits=2, string="Valor da BC do ICMS ST", | |
xsd_required=True) | |
nfe_pICMSST = fields.Monetary( | |
digits=2, string="Alíquota do ICMS ST", xsd_required=True) | |
nfe_vICMSST = fields.Monetary( | |
digits=2, string="Valor do ICMS ST", xsd_required=True) | |
nfe_vBCFCPST = fields.Monetary( | |
digits=2, string="vBCFCPST", | |
help=("Valor da Base de cálculo do FCP retido por substituicao" | |
"tributaria.")) | |
nfe_pFCPST = fields.Monetary( | |
digits=2, | |
string="Percentual de FCP retido por substituição tributária") | |
nfe_vFCPST = fields.Monetary( | |
digits=2, string="Valor do FCP retido por substituição tributária") | |
class ICMS20(spec_models.AbstractSpecMixin): | |
"""Tributção pelo ICMS | |
20 - Com redução de base de cálculo""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.icms20' | |
_generateds_type = 'ICMS20Type' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_orig' | |
nfe_orig = fields.Selection( | |
Torig, | |
string="origem da mercadoria: 0 - Nacional", | |
xsd_required=True, | |
help="Tipo Origem da mercadoria CST ICMS origem da mercadoria") | |
nfe_CST = fields.Selection( | |
CSTType10, | |
string="Tributção pelo ICMS", xsd_required=True, | |
help=("Tributção pelo ICMS" | |
"20 - Com redução de base de cálculo")) | |
nfe_modBC = fields.Selection( | |
modBCType11, | |
string="Modalidade de determinação da BC do ICMS", | |
xsd_required=True, | |
help=("Modalidade de determinação da BC do ICMS:" | |
"0 - Margem Valor Agregado (%);" | |
"1 - Pauta (valor);" | |
"2 - Preço Tabelado Máximo (valor);" | |
"3 - Valor da Operação.")) | |
nfe_pRedBC = fields.Monetary( | |
digits=2, string="Percentual de redução da BC", | |
xsd_required=True) | |
nfe_vBC = fields.Monetary( | |
digits=2, string="Valor da BC do ICMS", xsd_required=True) | |
nfe_pICMS = fields.Monetary( | |
digits=2, string="Alíquota do ICMS", xsd_required=True) | |
nfe_vICMS = fields.Monetary( | |
digits=2, string="Valor do ICMS", xsd_required=True) | |
nfe_vBCFCP = fields.Monetary( | |
digits=2, string="Valor da Base de cálculo do FCP.") | |
nfe_pFCP = fields.Monetary( | |
digits=2, | |
string="Percentual de ICMS relativo ao Fundo de Combate à Pobreza", | |
help=("Percentual de ICMS relativo ao Fundo de Combate à Pobreza" | |
"(FCP).")) | |
nfe_vFCP = fields.Monetary( | |
digits=2, | |
string="Valor do ICMS relativo ao Fundo de Combate à Pobreza", | |
help="Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP).") | |
nfe_vICMSDeson = fields.Monetary( | |
digits=2, string="Valor do ICMS de desoneração") | |
nfe_motDesICMS = fields.Selection( | |
motDesICMSType, | |
string="Motivo da desoneração do ICMS:3", | |
help=("Motivo da desoneração do ICMS:3-Uso na" | |
"agropecuária;9-Outros;12-Fomento agropecuário")) | |
class ICMS30(spec_models.AbstractSpecMixin): | |
"""Tributação pelo ICMS | |
30 - Isenta ou não tributada e com cobrança do ICMS por substituição | |
tributária""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.icms30' | |
_generateds_type = 'ICMS30Type' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_orig' | |
nfe_orig = fields.Selection( | |
Torig, | |
string="origem da mercadoria: 0 - Nacional", | |
xsd_required=True, | |
help="Tipo Origem da mercadoria CST ICMS origem da mercadoria") | |
nfe_CST = fields.Selection( | |
CSTType12, | |
string="Tributção pelo ICMS", xsd_required=True, | |
help=("Tributção pelo ICMS" | |
"30 - Isenta ou não tributada e com cobrança do ICMS por" | |
"substituição tributária")) | |
nfe_modBCST = fields.Selection( | |
modBCSTType13, | |
string="Modalidade de determinação da BC do ICMS ST", | |
xsd_required=True, | |
help=("Modalidade de determinação da BC do ICMS ST:" | |
"0 – Preço tabelado ou máximo sugerido;" | |
"1 - Lista Negativa (valor);" | |
"2 - Lista Positiva (valor);" | |
"3 - Lista Neutra (valor);" | |
"4 - Margem Valor Agregado (%);" | |
"5 - Pauta (valor).")) | |
nfe_pMVAST = fields.Monetary( | |
digits=2, string="Percentual da Margem de Valor Adicionado ICMS ST") | |
nfe_pRedBCST = fields.Monetary( | |
digits=2, string="Percentual de redução da BC ICMS ST") | |
nfe_vBCST = fields.Monetary( | |
digits=2, string="Valor da BC do ICMS ST", | |
xsd_required=True) | |
nfe_pICMSST = fields.Monetary( | |
digits=2, string="Alíquota do ICMS ST", xsd_required=True) | |
nfe_vICMSST = fields.Monetary( | |
digits=2, string="Valor do ICMS ST", xsd_required=True) | |
nfe_vBCFCPST = fields.Monetary( | |
digits=2, string="Valor da Base de cálculo do FCP.") | |
nfe_pFCPST = fields.Monetary( | |
digits=2, | |
string="Percentual de FCP retido por substituição tributária") | |
nfe_vFCPST = fields.Monetary( | |
digits=2, string="Valor do FCP retido por substituição tributária") | |
nfe_vICMSDeson = fields.Monetary( | |
digits=2, string="Valor do ICMS de desoneração") | |
nfe_motDesICMS = fields.Selection( | |
motDesICMSType14, | |
string="Motivo da desoneração do ICMS:6", | |
help=("Motivo da desoneração do ICMS:6-Utilitários Motocicleta AÁrea" | |
"Livre;7-SUFRAMA;9-Outros")) | |
class ICMS40(spec_models.AbstractSpecMixin): | |
"""Tributação pelo ICMS | |
40 - Isenta | |
41 - Não tributada | |
50 - Suspensão""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.icms40' | |
_generateds_type = 'ICMS40Type' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_orig' | |
nfe_orig = fields.Selection( | |
Torig, | |
string="origem da mercadoria: 0 - Nacional", | |
xsd_required=True, | |
help="Tipo Origem da mercadoria CST ICMS origem da mercadoria") | |
nfe_CST = fields.Selection( | |
CSTType15, | |
string="Tributação pelo ICMS", xsd_required=True, | |
help=("Tributação pelo ICMS" | |
"40 - Isenta" | |
"41 - Não tributada" | |
"50 - Suspensão" | |
"51 - Diferimento")) | |
nfe_vICMSDeson = fields.Monetary( | |
digits=2, string="vICMSDeson", | |
help=("O valor do ICMS será informado apenas nas operações com" | |
"veículos beneficiados com a desoneração" | |
"condicional do ICMS.")) | |
nfe_motDesICMS = fields.Selection( | |
motDesICMSType16, | |
string="motDesICMS", | |
help=("Este campo será preenchido quando o campo anterior estiver" | |
"preenchido." | |
"Informar o motivo da desoneração:")) | |
class ICMS51(spec_models.AbstractSpecMixin): | |
"""Tributção pelo ICMS | |
51 - Diferimento | |
A exigência do preenchimento das informações do ICMS diferido fica à | |
critério de cada UF.""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.icms51' | |
_generateds_type = 'ICMS51Type' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_orig' | |
nfe_orig = fields.Selection( | |
Torig, | |
string="origem da mercadoria: 0 - Nacional", | |
xsd_required=True, | |
help="Tipo Origem da mercadoria CST ICMS origem da mercadoria") | |
nfe_CST = fields.Selection( | |
CSTType17, | |
string="Tributção pelo ICMS", xsd_required=True, | |
help=("Tributção pelo ICMS" | |
"20 - Com redução de base de cálculo")) | |
nfe_modBC = fields.Selection( | |
modBCType18, | |
string="Modalidade de determinação da BC do ICMS", | |
help=("Modalidade de determinação da BC do ICMS:" | |
"0 - Margem Valor Agregado (%);" | |
"1 - Pauta (valor);" | |
"2 - Preço Tabelado Máximo (valor);" | |
"3 - Valor da Operação.")) | |
nfe_pRedBC = fields.Monetary( | |
digits=2, string="Percentual de redução da BC") | |
nfe_vBC = fields.Monetary( | |
digits=2, string="Valor da BC do ICMS") | |
nfe_pICMS = fields.Monetary( | |
digits=2, string="Alíquota do imposto") | |
nfe_vICMSOp = fields.Monetary( | |
digits=2, string="Valor do ICMS da Operação") | |
nfe_pDif = fields.Monetary( | |
digits=2, string="Percentual do diferemento") | |
nfe_vICMSDif = fields.Monetary( | |
digits=2, string="Valor do ICMS da diferido") | |
nfe_vICMS = fields.Monetary( | |
digits=2, string="Valor do ICMS") | |
nfe_vBCFCP = fields.Monetary( | |
digits=2, string="Valor da Base de cálculo do FCP.") | |
nfe_pFCP = fields.Monetary( | |
digits=2, | |
string="Percentual de ICMS relativo ao Fundo de Combate à Pobreza", | |
help=("Percentual de ICMS relativo ao Fundo de Combate à Pobreza" | |
"(FCP).")) | |
nfe_vFCP = fields.Monetary( | |
digits=2, | |
string="Valor do ICMS relativo ao Fundo de Combate à Pobreza", | |
help="Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP).") | |
class ICMS60(spec_models.AbstractSpecMixin): | |
"""Tributação pelo ICMS | |
60 - ICMS cobrado anteriormente por substituição tributária""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.icms60' | |
_generateds_type = 'ICMS60Type' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_orig' | |
nfe_orig = fields.Selection( | |
Torig, | |
string="origem da mercadoria: 0 - Nacional", | |
xsd_required=True, | |
help="Tipo Origem da mercadoria CST ICMS origem da mercadoria") | |
nfe_CST = fields.Selection( | |
CSTType19, | |
string="Tributação pelo ICMS", xsd_required=True, | |
help=("Tributação pelo ICMS" | |
"60 - ICMS cobrado anteriormente por substituição tributária")) | |
nfe_vBCSTRet = fields.Monetary( | |
digits=2, string="Valor da BC do ICMS ST retido anteriormente") | |
nfe_pST = fields.Monetary( | |
digits=2, string="Aliquota suportada pelo consumidor final") | |
nfe_vICMSSTRet = fields.Monetary( | |
digits=2, string="Valor do ICMS ST retido anteriormente") | |
nfe_vBCFCPSTRet = fields.Monetary( | |
digits=2, | |
string="Valor da Base de cálculo do FCP retido anteriormente por ST") | |
nfe_pFCPSTRet = fields.Monetary( | |
digits=2, string="pFCPSTRet", | |
help=("Percentual de FCP retido anteriormente por substituição" | |
"tributária.")) | |
nfe_vFCPSTRet = fields.Monetary( | |
digits=2, string="Valor do FCP retido por substituição tributária") | |
nfe_pRedBCEfet = fields.Monetary( | |
digits=2, string="Percentual de redução da base de cálculo efetiva") | |
nfe_vBCEfet = fields.Monetary( | |
digits=2, string="Valor da base de cálculo efetiva.") | |
nfe_pICMSEfet = fields.Monetary( | |
digits=2, string="Alíquota do ICMS efetiva.") | |
nfe_vICMSEfet = fields.Monetary( | |
digits=2, string="Valor do ICMS efetivo.") | |
class ICMS70(spec_models.AbstractSpecMixin): | |
"""Tributação pelo ICMS | |
70 - Com redução de base de cálculo e cobrança do ICMS por substituição | |
tributária""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.icms70' | |
_generateds_type = 'ICMS70Type' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_orig' | |
nfe_orig = fields.Selection( | |
Torig, | |
string="origem da mercadoria: 0 - Nacional", | |
xsd_required=True, | |
help="Tipo Origem da mercadoria CST ICMS origem da mercadoria") | |
nfe_CST = fields.Selection( | |
CSTType20, | |
string="Tributção pelo ICMS", xsd_required=True, | |
help=("Tributção pelo ICMS" | |
"70 - Com redução de base de cálculo e cobrança do ICMS por" | |
"substituição tributária")) | |
nfe_modBC = fields.Selection( | |
modBCType21, | |
string="Modalidade de determinação da BC do ICMS", | |
xsd_required=True, | |
help=("Modalidade de determinação da BC do ICMS:" | |
"0 - Margem Valor Agregado (%);" | |
"1 - Pauta (valor);" | |
"2 - Preço Tabelado Máximo (valor);" | |
"3 - Valor da Operação.")) | |
nfe_pRedBC = fields.Monetary( | |
digits=2, string="Percentual de redução da BC", | |
xsd_required=True) | |
nfe_vBC = fields.Monetary( | |
digits=2, string="Valor da BC do ICMS", xsd_required=True) | |
nfe_pICMS = fields.Monetary( | |
digits=2, string="Alíquota do ICMS", xsd_required=True) | |
nfe_vICMS = fields.Monetary( | |
digits=2, string="Valor do ICMS", xsd_required=True) | |
nfe_vBCFCP = fields.Monetary( | |
digits=2, string="Valor da Base de cálculo do FCP.") | |
nfe_pFCP = fields.Monetary( | |
digits=2, | |
string="Percentual de ICMS relativo ao Fundo de Combate à Pobreza", | |
help=("Percentual de ICMS relativo ao Fundo de Combate à Pobreza" | |
"(FCP).")) | |
nfe_vFCP = fields.Monetary( | |
digits=2, | |
string="Valor do ICMS relativo ao Fundo de Combate à Pobreza", | |
help="Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP).") | |
nfe_modBCST = fields.Selection( | |
modBCSTType22, | |
string="Modalidade de determinação da BC do ICMS ST", | |
xsd_required=True, | |
help=("Modalidade de determinação da BC do ICMS ST:" | |
"0 – Preço tabelado ou máximo sugerido;" | |
"1 - Lista Negativa (valor);" | |
"2 - Lista Positiva (valor);" | |
"3 - Lista Neutra (valor);" | |
"4 - Margem Valor Agregado (%);" | |
"5 - Pauta (valor).")) | |
nfe_pMVAST = fields.Monetary( | |
digits=2, string="Percentual da Margem de Valor Adicionado ICMS ST") | |
nfe_pRedBCST = fields.Monetary( | |
digits=2, string="Percentual de redução da BC ICMS ST") | |
nfe_vBCST = fields.Monetary( | |
digits=2, string="Valor da BC do ICMS ST", | |
xsd_required=True) | |
nfe_pICMSST = fields.Monetary( | |
digits=2, string="Alíquota do ICMS ST", xsd_required=True) | |
nfe_vICMSST = fields.Monetary( | |
digits=2, string="Valor do ICMS ST", xsd_required=True) | |
nfe_vBCFCPST = fields.Monetary( | |
digits=2, string="vBCFCPST", | |
help=("Valor da Base de cálculo do FCP retido por substituição" | |
"tributária.")) | |
nfe_pFCPST = fields.Monetary( | |
digits=2, | |
string="Percentual de FCP retido por substituição tributária") | |
nfe_vFCPST = fields.Monetary( | |
digits=2, string="Valor do FCP retido por substituição tributária") | |
nfe_vICMSDeson = fields.Monetary( | |
digits=2, string="Valor do ICMS de desoneração") | |
nfe_motDesICMS = fields.Selection( | |
motDesICMSType23, | |
string="Motivo da desoneração do ICMS:3", | |
help=("Motivo da desoneração do ICMS:3-Uso na" | |
"agropecuária;9-Outros;12-Fomento agropecuário")) | |
class ICMS90(spec_models.AbstractSpecMixin): | |
"""Tributação pelo ICMS | |
90 - Outras""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.icms90' | |
_generateds_type = 'ICMS90Type' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_orig' | |
nfe_orig = fields.Selection( | |
Torig, | |
string="origem da mercadoria: 0 - Nacional", | |
xsd_required=True, | |
help="Tipo Origem da mercadoria CST ICMS origem da mercadoria") | |
nfe_CST = fields.Selection( | |
CSTType24, | |
string="Tributção pelo ICMS", xsd_required=True, | |
help=("Tributção pelo ICMS" | |
"90 - Outras")) | |
nfe_modBC = fields.Selection( | |
modBCType25, | |
string="Modalidade de determinação da BC do ICMS", | |
help="Modalidade de determinação da BC do ICMS:") | |
nfe_vBC = fields.Monetary( | |
digits=2, string="Valor da BC do ICMS") | |
nfe_pRedBC = fields.Monetary( | |
digits=2, string="Percentual de redução da BC") | |
nfe_pICMS = fields.Monetary( | |
digits=2, string="Alíquota do ICMS") | |
nfe_vICMS = fields.Monetary( | |
digits=2, string="Valor do ICMS") | |
nfe_vBCFCP = fields.Monetary( | |
digits=2, string="Valor da Base de cálculo do FCP.") | |
nfe_pFCP = fields.Monetary( | |
digits=2, | |
string="Percentual de ICMS relativo ao Fundo de Combate à Pobreza", | |
help=("Percentual de ICMS relativo ao Fundo de Combate à Pobreza" | |
"(FCP).")) | |
nfe_vFCP = fields.Monetary( | |
digits=2, | |
string="Valor do ICMS relativo ao Fundo de Combate à Pobreza", | |
help="Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP).") | |
nfe_modBCST = fields.Selection( | |
modBCSTType26, | |
string="Modalidade de determinação da BC do ICMS ST", | |
help=("Modalidade de determinação da BC do ICMS ST:" | |
"0 – Preço tabelado ou máximo sugerido;" | |
"1 - Lista Negativa (valor);" | |
"2 - Lista Positiva (valor);" | |
"3 - Lista Neutra (valor);" | |
"4 - Margem Valor Agregado (%);" | |
"5 - Pauta (valor).")) | |
nfe_pMVAST = fields.Monetary( | |
digits=2, string="Percentual da Margem de Valor Adicionado ICMS ST") | |
nfe_pRedBCST = fields.Monetary( | |
digits=2, string="Percentual de redução da BC ICMS ST") | |
nfe_vBCST = fields.Monetary( | |
digits=2, string="Valor da BC do ICMS ST") | |
nfe_pICMSST = fields.Monetary( | |
digits=2, string="Alíquota do ICMS ST") | |
nfe_vICMSST = fields.Monetary( | |
digits=2, string="Valor do ICMS ST") | |
nfe_vBCFCPST = fields.Monetary( | |
digits=2, string="Valor da Base de cálculo do FCP.") | |
nfe_pFCPST = fields.Monetary( | |
digits=2, | |
string="Percentual de FCP retido por substituição tributária") | |
nfe_vFCPST = fields.Monetary( | |
digits=2, string="Valor do FCP retido por substituição tributária") | |
nfe_vICMSDeson = fields.Monetary( | |
digits=2, string="Valor do ICMS de desoneração") | |
nfe_motDesICMS = fields.Selection( | |
motDesICMSType27, | |
string="Motivo da desoneração do ICMS:3", | |
help=("Motivo da desoneração do ICMS:3-Uso na" | |
"agropecuária;9-Outros;12-Fomento agropecuário")) | |
class ICMSPart(spec_models.AbstractSpecMixin): | |
"""Partilha do ICMS entre a UF de origem e UF de destino ou a UF definida | |
na legislação | |
Operação interestadual para consumidor final com partilha do ICMS | |
devido na operação entre a UF de origem e a UF do destinatário ou | |
ou a UF definida na legislação. (Ex. UF da concessionária de | |
entrega do veículos)""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.icmspart' | |
_generateds_type = 'ICMSPartType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_orig' | |
nfe_orig = fields.Selection( | |
Torig, | |
string="origem da mercadoria: 0 - Nacional", | |
xsd_required=True, | |
help="Tipo Origem da mercadoria CST ICMS origem da mercadoria") | |
nfe_CST = fields.Selection( | |
CSTType28, | |
string="Tributação pelo ICMS", xsd_required=True, | |
help=("Tributação pelo ICMS" | |
"10 - Tributada e com cobrança do ICMS por substituição" | |
"tributária;" | |
"90 – Outros.")) | |
nfe_modBC = fields.Selection( | |
modBCType29, | |
string="Modalidade de determinação da BC do ICMS", | |
xsd_required=True, | |
help="Modalidade de determinação da BC do ICMS:") | |
nfe_vBC = fields.Monetary( | |
digits=2, string="Valor da BC do ICMS", xsd_required=True) | |
nfe_pRedBC = fields.Monetary( | |
digits=2, string="Percentual de redução da BC") | |
nfe_pICMS = fields.Monetary( | |
digits=2, string="Alíquota do ICMS", xsd_required=True) | |
nfe_vICMS = fields.Monetary( | |
digits=2, string="Valor do ICMS", xsd_required=True) | |
nfe_modBCST = fields.Selection( | |
modBCSTType30, | |
string="Modalidade de determinação da BC do ICMS ST", | |
xsd_required=True, | |
help=("Modalidade de determinação da BC do ICMS ST:" | |
"0 – Preço tabelado ou máximo sugerido;" | |
"1 - Lista Negativa (valor);" | |
"2 - Lista Positiva (valor);" | |
"3 - Lista Neutra (valor);" | |
"4 - Margem Valor Agregado (%);" | |
"5 - Pauta (valor).")) | |
nfe_pMVAST = fields.Monetary( | |
digits=2, string="Percentual da Margem de Valor Adicionado ICMS ST") | |
nfe_pRedBCST = fields.Monetary( | |
digits=2, string="Percentual de redução da BC ICMS ST") | |
nfe_vBCST = fields.Monetary( | |
digits=2, string="Valor da BC do ICMS ST", | |
xsd_required=True) | |
nfe_pICMSST = fields.Monetary( | |
digits=2, string="Alíquota do ICMS ST", xsd_required=True) | |
nfe_vICMSST = fields.Monetary( | |
digits=2, string="Valor do ICMS ST", xsd_required=True) | |
nfe_pBCOp = fields.Monetary( | |
digits=2, string="pBCOp", xsd_required=True, | |
help=("Percentual para determinação do valor da Base de Cálculo da" | |
"operação própria.")) | |
nfe_UFST = fields.Selection( | |
TUf, | |
string="Sigla da UF para qual é devido o ICMS ST da operação", | |
xsd_required=True) | |
class ICMSSN101(spec_models.AbstractSpecMixin): | |
"Tributação do ICMS pelo SIMPLES NACIONAL e CSOSN=101 (v.2.0)" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.icmssn101' | |
_generateds_type = 'ICMSSN101Type' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_orig' | |
nfe_orig = fields.Selection( | |
Torig, | |
string="origem da mercadoria: 0 - Nacional", | |
xsd_required=True, | |
help="Tipo Origem da mercadoria CST ICMS origem da mercadoria") | |
nfe_CSOSN = fields.Selection( | |
CSOSNType, | |
string="101", xsd_required=True, | |
help=("101- Tributada pelo Simples Nacional com permissão de crédito." | |
"(v.2.0)")) | |
nfe_pCredSN = fields.Monetary( | |
digits=2, string="Alíquota aplicável de cálculo do crédito", | |
xsd_required=True, | |
help=("Alíquota aplicável de cálculo do crédito (Simples Nacional)." | |
"(v2.0)")) | |
nfe_vCredICMSSN = fields.Monetary( | |
digits=2, string="vCredICMSSN", xsd_required=True, | |
help=("Valor crédito do ICMS que pode ser aproveitado nos termos do" | |
"art. 23 da LC 123 (Simples Nacional) (v2.0)")) | |
class ICMSSN102(spec_models.AbstractSpecMixin): | |
"""Tributação do ICMS pelo SIMPLES NACIONAL e CSOSN=102, 103, 300 ou 400 | |
(v.2.0))""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.icmssn102' | |
_generateds_type = 'ICMSSN102Type' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_orig' | |
nfe_orig = fields.Selection( | |
Torig, | |
string="origem da mercadoria: 0 - Nacional", | |
xsd_required=True, | |
help="Tipo Origem da mercadoria CST ICMS origem da mercadoria") | |
nfe_CSOSN = fields.Selection( | |
CSOSNType32, | |
string="102", xsd_required=True, | |
help=("102- Tributada pelo Simples Nacional sem permissão de crédito." | |
"103 – Isenção do ICMS no Simples Nacional para faixa de" | |
"receita bruta." | |
"300 – Imune." | |
"400 – Não tributda pelo Simples Nacional (v.2.0) (v.2.0)")) | |
class ICMSSN201(spec_models.AbstractSpecMixin): | |
"Tributação do ICMS pelo SIMPLES NACIONAL e CSOSN=201 (v.2.0)" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.icmssn201' | |
_generateds_type = 'ICMSSN201Type' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_orig' | |
nfe_orig = fields.Selection( | |
Torig, | |
string="Origem da mercadoria", xsd_required=True, | |
help="Tipo Origem da mercadoria CST ICMS origem da mercadoria") | |
nfe_CSOSN = fields.Selection( | |
CSOSNType33, | |
string="201", xsd_required=True, | |
help=("201- Tributada pelo Simples Nacional com permissão de crédito" | |
"e com cobrança do ICMS por Substituição" | |
"Tributária (v.2.0)")) | |
nfe_modBCST = fields.Selection( | |
modBCSTType34, | |
string="Modalidade de determinação da BC do ICMS ST", | |
xsd_required=True, | |
help=("Modalidade de determinação da BC do ICMS ST:" | |
"0 – Preço tabelado ou máximo sugerido;" | |
"1 - Lista Negativa (valor);" | |
"2 - Lista Positiva (valor);" | |
"3 - Lista Neutra (valor);" | |
"4 - Margem Valor Agregado (%);" | |
"5 - Pauta (valor). (v2.0)")) | |
nfe_pMVAST = fields.Monetary( | |
digits=2, string="Percentual da Margem de Valor Adicionado ICMS ST", | |
help="Percentual da Margem de Valor Adicionado ICMS ST (v2.0)") | |
nfe_pRedBCST = fields.Monetary( | |
digits=2, string="Percentual de redução da BC ICMS ST", | |
help="Percentual de redução da BC ICMS ST (v2.0)") | |
nfe_vBCST = fields.Monetary( | |
digits=2, string="Valor da BC do ICMS ST (v2.0)", | |
xsd_required=True) | |
nfe_pICMSST = fields.Monetary( | |
digits=2, string="Alíquota do ICMS ST (v2.0)", | |
xsd_required=True) | |
nfe_vICMSST = fields.Monetary( | |
digits=2, string="Valor do ICMS ST (v2.0)", | |
xsd_required=True) | |
nfe_vBCFCPST = fields.Monetary( | |
digits=2, string="Valor da Base de cálculo do FCP.") | |
nfe_pFCPST = fields.Monetary( | |
digits=2, | |
string="Percentual de FCP retido por substituição tributária") | |
nfe_vFCPST = fields.Monetary( | |
digits=2, string="Valor do FCP retido por substituição tributária") | |
nfe_pCredSN = fields.Monetary( | |
digits=2, string="Alíquota aplicável de cálculo do crédito", | |
xsd_required=True, | |
help=("Alíquota aplicável de cálculo do crédito (Simples Nacional)." | |
"(v2.0)")) | |
nfe_vCredICMSSN = fields.Monetary( | |
digits=2, string="vCredICMSSN", xsd_required=True, | |
help=("Valor crédito do ICMS que pode ser aproveitado nos termos do" | |
"art. 23 da LC 123 (Simples Nacional) (v2.0)")) | |
class ICMSSN202(spec_models.AbstractSpecMixin): | |
"Tributação do ICMS pelo SIMPLES NACIONAL e CSOSN=202 ou 203 (v.2.0)" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.icmssn202' | |
_generateds_type = 'ICMSSN202Type' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_orig' | |
nfe_orig = fields.Selection( | |
Torig, | |
string="Origem da mercadoria", xsd_required=True, | |
help="Tipo Origem da mercadoria CST ICMS origem da mercadoria") | |
nfe_CSOSN = fields.Selection( | |
CSOSNType35, | |
string="202", xsd_required=True, | |
help=("202- Tributada pelo Simples Nacional sem permissão de crédito" | |
"e com cobrança do ICMS por Substituição" | |
"Tributária;" | |
"203- Isenção do ICMS nos Simples Nacional para faixa de" | |
"receita bruta e com cobrança do ICMS por" | |
"Substituição Tributária (v.2.0)")) | |
nfe_modBCST = fields.Selection( | |
modBCSTType36, | |
string="Modalidade de determinação da BC do ICMS ST", | |
xsd_required=True, | |
help=("Modalidade de determinação da BC do ICMS ST:" | |
"0 – Preço tabelado ou máximo sugerido;" | |
"1 - Lista Negativa (valor);" | |
"2 - Lista Positiva (valor);" | |
"3 - Lista Neutra (valor);" | |
"4 - Margem Valor Agregado (%);" | |
"5 - Pauta (valor). (v2.0)")) | |
nfe_pMVAST = fields.Monetary( | |
digits=2, string="Percentual da Margem de Valor Adicionado ICMS ST", | |
help="Percentual da Margem de Valor Adicionado ICMS ST (v2.0)") | |
nfe_pRedBCST = fields.Monetary( | |
digits=2, string="Percentual de redução da BC ICMS ST", | |
help="Percentual de redução da BC ICMS ST (v2.0)") | |
nfe_vBCST = fields.Monetary( | |
digits=2, string="Valor da BC do ICMS ST (v2.0)", | |
xsd_required=True) | |
nfe_pICMSST = fields.Monetary( | |
digits=2, string="Alíquota do ICMS ST (v2.0)", | |
xsd_required=True) | |
nfe_vICMSST = fields.Monetary( | |
digits=2, string="Valor do ICMS ST (v2.0)", | |
xsd_required=True) | |
nfe_vBCFCPST = fields.Monetary( | |
digits=2, string="Valor da Base de cálculo do FCP.") | |
nfe_pFCPST = fields.Monetary( | |
digits=2, | |
string="Percentual de FCP retido por substituição tributária") | |
nfe_vFCPST = fields.Monetary( | |
digits=2, string="Valor do FCP retido por substituição tributária") | |
class ICMSSN500(spec_models.AbstractSpecMixin): | |
"""Tributação do ICMS pelo SIMPLES NACIONAL,CRT=1 – Simples Nacional e | |
CSOSN=500 (v.2.0)""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.icmssn500' | |
_generateds_type = 'ICMSSN500Type' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_orig' | |
nfe_orig = fields.Selection( | |
Torig, | |
string="origem da mercadoria: 0 - Nacional", | |
xsd_required=True, | |
help="Tipo Origem da mercadoria CST ICMS origem da mercadoria") | |
nfe_CSOSN = fields.Selection( | |
CSOSNType37, | |
string="500 – ICMS cobrado anterirmente por substituição tributária", | |
xsd_required=True, | |
help=("500 – ICMS cobrado anterirmente por substituição tributária" | |
"(substituído) ou por antecipação" | |
"(v.2.0)")) | |
nfe_vBCSTRet = fields.Monetary( | |
digits=2, string="Valor da BC do ICMS ST retido anteriormente", | |
help="Valor da BC do ICMS ST retido anteriormente (v2.0)") | |
nfe_pST = fields.Monetary( | |
digits=2, string="Aliquota suportada pelo consumidor final") | |
nfe_vICMSSTRet = fields.Monetary( | |
digits=2, string="Valor do ICMS ST retido anteriormente", | |
help="Valor do ICMS ST retido anteriormente (v2.0)") | |
nfe_vBCFCPSTRet = fields.Monetary( | |
digits=2, | |
string="Valor da Base de cálculo do FCP retido anteriormente") | |
nfe_pFCPSTRet = fields.Monetary( | |
digits=2, string="pFCPSTRet", | |
help=("Percentual de FCP retido anteriormente por substituição" | |
"tributária.")) | |
nfe_vFCPSTRet = fields.Monetary( | |
digits=2, string="Valor do FCP retido por substituição tributária") | |
nfe_pRedBCEfet = fields.Monetary( | |
digits=2, string="Percentual de redução da base de cálculo efetiva") | |
nfe_vBCEfet = fields.Monetary( | |
digits=2, string="Valor da base de cálculo efetiva.") | |
nfe_pICMSEfet = fields.Monetary( | |
digits=2, string="Alíquota do ICMS efetiva.") | |
nfe_vICMSEfet = fields.Monetary( | |
digits=2, string="Valor do ICMS efetivo.") | |
class ICMSSN900(spec_models.AbstractSpecMixin): | |
"""Tributação do ICMS pelo SIMPLES NACIONAL, CRT=1 – Simples Nacional e | |
CSOSN=900 (v2.0)""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.icmssn900' | |
_generateds_type = 'ICMSSN900Type' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_orig' | |
nfe_orig = fields.Selection( | |
Torig, | |
string="origem da mercadoria: 0 - Nacional", | |
xsd_required=True, | |
help="Tipo Origem da mercadoria CST ICMS origem da mercadoria") | |
nfe_CSOSN = fields.Selection( | |
CSOSNType38, | |
string="Tributação pelo ICMS 900", | |
xsd_required=True, | |
help="Tributação pelo ICMS 900 - Outros(v2.0)") | |
nfe_modBC = fields.Selection( | |
modBCType39, | |
string="Modalidade de determinação da BC do ICMS", | |
help="Modalidade de determinação da BC do ICMS:") | |
nfe_vBC = fields.Monetary( | |
digits=2, string="Valor da BC do ICMS") | |
nfe_pRedBC = fields.Monetary( | |
digits=2, string="Percentual de redução da BC") | |
nfe_pICMS = fields.Monetary( | |
digits=2, string="Alíquota do ICMS") | |
nfe_vICMS = fields.Monetary( | |
digits=2, string="Valor do ICMS") | |
nfe_modBCST = fields.Selection( | |
modBCSTType40, | |
string="Modalidade de determinação da BC do ICMS ST", | |
help=("Modalidade de determinação da BC do ICMS ST:" | |
"0 – Preço tabelado ou máximo sugerido;" | |
"1 - Lista Negativa (valor);" | |
"2 - Lista Positiva (valor);" | |
"3 - Lista Neutra (valor);" | |
"4 - Margem Valor Agregado (%);" | |
"5 - Pauta (valor).")) | |
nfe_pMVAST = fields.Monetary( | |
digits=2, string="Percentual da Margem de Valor Adicionado ICMS ST") | |
nfe_pRedBCST = fields.Monetary( | |
digits=2, string="Percentual de redução da BC ICMS ST") | |
nfe_vBCST = fields.Monetary( | |
digits=2, string="Valor da BC do ICMS ST") | |
nfe_pICMSST = fields.Monetary( | |
digits=2, string="Alíquota do ICMS ST") | |
nfe_vICMSST = fields.Monetary( | |
digits=2, string="Valor do ICMS ST") | |
nfe_vBCFCPST = fields.Monetary( | |
digits=2, string="Valor da Base de cálculo do FCP.") | |
nfe_pFCPST = fields.Monetary( | |
digits=2, | |
string="Percentual de FCP retido por substituição tributária") | |
nfe_vFCPST = fields.Monetary( | |
digits=2, string="Valor do FCP retido por substituição tributária") | |
nfe_pCredSN = fields.Monetary( | |
digits=2, string="Alíquota aplicável de cálculo do crédito", | |
help=("Alíquota aplicável de cálculo do crédito (Simples Nacional)." | |
"(v2.0)")) | |
nfe_vCredICMSSN = fields.Monetary( | |
digits=2, string="vCredICMSSN", | |
help=("Valor crédito do ICMS que pode ser aproveitado nos termos do" | |
"art. 23 da LC 123 (Simples Nacional) (v2.0)")) | |
class ICMSST(spec_models.AbstractSpecMixin): | |
"""Grupo de informação do ICMSST devido para a UF de destino, nas | |
operações interestaduais de produtos que tiveram retenção | |
antecipada de ICMS por ST na UF do remetente. Repasse via | |
Substituto Tributário.""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.icmsst' | |
_generateds_type = 'ICMSSTType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_orig' | |
nfe_orig = fields.Selection( | |
Torig, | |
string="origem da mercadoria: 0 - Nacional", | |
xsd_required=True, | |
help="Tipo Origem da mercadoria CST ICMS origem da mercadoria") | |
nfe_CST = fields.Selection( | |
CSTType31, | |
string="Tributção pelo ICMS", xsd_required=True, | |
help=("Tributção pelo ICMS" | |
"41-Não Tributado." | |
"60-Cobrado anteriormente por substituição tributária.")) | |
nfe_vBCSTRet = fields.Monetary( | |
digits=2, | |
string="Informar o valor da BC do ICMS ST retido na UF remetente", | |
xsd_required=True) | |
nfe_vICMSSTRet = fields.Monetary( | |
digits=2, string="Informar o valor do ICMS ST retido na UF remetente", | |
xsd_required=True, | |
help="Informar o valor do ICMS ST retido na UF remetente (iv2.0))") | |
nfe_vBCSTDest = fields.Monetary( | |
digits=2, string="Informar o valor da BC do ICMS ST da UF destino", | |
xsd_required=True, | |
help="Informar o valor da BC do ICMS ST da UF destino") | |
nfe_vICMSSTDest = fields.Monetary( | |
digits=2, string="Informar o valor da BC do ICMS ST da UF destino", | |
xsd_required=True, | |
help="Informar o valor da BC do ICMS ST da UF destino (v2.0)") | |
class ICMSTot(spec_models.AbstractSpecMixin): | |
"Totais referentes ao ICMS" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.icmstot' | |
_generateds_type = 'ICMSTotType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_vBC' | |
nfe_vBC = fields.Monetary( | |
digits=2, string="BC do ICMS", xsd_required=True) | |
nfe_vICMS = fields.Monetary( | |
digits=2, string="Valor Total do ICMS", xsd_required=True) | |
nfe_vICMSDeson = fields.Monetary( | |
digits=2, string="Valor Total do ICMS desonerado", | |
xsd_required=True) | |
nfe_vFCPUFDest = fields.Monetary( | |
digits=2, | |
string="Valor total do ICMS relativo ao Fundo de Combate à Pobreza", | |
help=("Valor total do ICMS relativo ao Fundo de Combate à Pobreza" | |
"(FCP) para a UF de destino.")) | |
nfe_vICMSUFDest = fields.Monetary( | |
digits=2, | |
string="Valor total do ICMS de partilha para a UF do destinatário") | |
nfe_vICMSUFRemet = fields.Monetary( | |
digits=2, | |
string="Valor total do ICMS de partilha para a UF do remetente") | |
nfe_vFCP = fields.Monetary( | |
digits=2, string="Valor Total do FCP", xsd_required=True, | |
help="Valor Total do FCP (Fundo de Combate à Pobreza).") | |
nfe_vBCST = fields.Monetary( | |
digits=2, string="BC do ICMS ST", xsd_required=True) | |
nfe_vST = fields.Monetary( | |
digits=2, string="Valor Total do ICMS ST", xsd_required=True) | |
nfe_vFCPST = fields.Monetary( | |
digits=2, string="Valor Total do FCP", xsd_required=True, | |
help=("Valor Total do FCP (Fundo de Combate à Pobreza) retido por" | |
"substituição tributária.")) | |
nfe_vFCPSTRet = fields.Monetary( | |
digits=2, string="Valor Total do FCP", | |
xsd_required=True, | |
help=("Valor Total do FCP (Fundo de Combate à Pobreza) retido" | |
"anteriormente por substituição tributária.")) | |
nfe_vProd = fields.Monetary( | |
digits=2, string="Valor Total dos produtos e serviços", | |
xsd_required=True) | |
nfe_vFrete = fields.Monetary( | |
digits=2, string="Valor Total do Frete", xsd_required=True) | |
nfe_vSeg = fields.Monetary( | |
digits=2, string="Valor Total do Seguro", xsd_required=True) | |
nfe_vDesc = fields.Monetary( | |
digits=2, string="Valor Total do Desconto", | |
xsd_required=True) | |
nfe_vII = fields.Monetary( | |
digits=2, string="Valor Total do II", xsd_required=True) | |
nfe_vIPI = fields.Monetary( | |
digits=2, string="Valor Total do IPI", xsd_required=True) | |
nfe_vIPIDevol = fields.Monetary( | |
digits=2, string="Valor Total do IPI devolvido", | |
xsd_required=True, | |
help=("Valor Total do IPI devolvido. Deve ser informado quando" | |
"preenchido o Grupo Tributos Devolvidos na" | |
"emissão de nota finNFe=4 (devolução) nas" | |
"operações com não contribuintes do IPI." | |
"Corresponde ao total da soma dos campos id:" | |
"UA04.")) | |
nfe_vPIS = fields.Monetary( | |
digits=2, string="Valor do PIS", xsd_required=True) | |
nfe_vCOFINS = fields.Monetary( | |
digits=2, string="Valor do COFINS", xsd_required=True) | |
nfe_vOutro = fields.Monetary( | |
digits=2, string="Outras Despesas acessórias", | |
xsd_required=True) | |
nfe_vNF = fields.Monetary( | |
digits=2, string="Valor Total da NF-e", xsd_required=True) | |
nfe_vTotTrib = fields.Monetary( | |
digits=2, string="Valor estimado total de impostos federais", | |
help=("Valor estimado total de impostos federais, estaduais e" | |
"municipais")) | |
class ICMS(spec_models.AbstractSpecMixin): | |
"Dados do ICMS Normal e ST" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.icms' | |
_generateds_type = 'ICMSType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_ICMS00' | |
nfe_choice11 = fields.Selection([ | |
('nfe_ICMS00', 'ICMS00'), | |
('nfe_ICMS10', 'ICMS10'), | |
('nfe_ICMS20', 'ICMS20'), | |
('nfe_ICMS30', 'ICMS30'), | |
('nfe_ICMS40', 'ICMS40'), | |
('nfe_ICMS51', 'ICMS51'), | |
('nfe_ICMS60', 'ICMS60'), | |
('nfe_ICMS70', 'ICMS70'), | |
('nfe_ICMS90', 'ICMS90'), | |
('nfe_ICMSPart', 'ICMSPart'), | |
('nfe_ICMSST', 'ICMSST'), | |
('nfe_ICMSSN101', 'ICMSSN101'), | |
('nfe_ICMSSN102', 'ICMSSN102'), | |
('nfe_ICMSSN201', 'ICMSSN201'), | |
('nfe_ICMSSN202', 'ICMSSN202'), | |
('nfe_ICMSSN500', 'ICMSSN500'), | |
('nfe_ICMSSN900', 'ICMSSN900')], | |
"ICMS00/ICMS10/ICMS20/ICMS30/ICMS40/ICMS51/ICMS60/I...", | |
default="nfe_ICMS00") | |
nfe_ICMS00 = fields.Many2one( | |
"nfe.v4_00.icms00", | |
choice='11', | |
string="Tributação pelo ICMS", xsd_required=True, | |
help=("Tributação pelo ICMS" | |
"00 - Tributada integralmente")) | |
nfe_ICMS10 = fields.Many2one( | |
"nfe.v4_00.icms10", | |
choice='11', | |
string="Tributação pelo ICMS", xsd_required=True, | |
help=("Tributação pelo ICMS" | |
"10 - Tributada e com cobrança do ICMS por substituição" | |
"tributária")) | |
nfe_ICMS20 = fields.Many2one( | |
"nfe.v4_00.icms20", | |
choice='11', | |
string="Tributção pelo ICMS", xsd_required=True, | |
help=("Tributção pelo ICMS" | |
"20 - Com redução de base de cálculo")) | |
nfe_ICMS30 = fields.Many2one( | |
"nfe.v4_00.icms30", | |
choice='11', | |
string="Tributação pelo ICMS", xsd_required=True, | |
help=("Tributação pelo ICMS" | |
"30 - Isenta ou não tributada e com cobrança do ICMS por" | |
"substituição tributária")) | |
nfe_ICMS40 = fields.Many2one( | |
"nfe.v4_00.icms40", | |
choice='11', | |
string="Tributação pelo ICMS", xsd_required=True, | |
help=("Tributação pelo ICMS" | |
"40 - Isenta" | |
"41 - Não tributada" | |
"50 - Suspensão")) | |
nfe_ICMS51 = fields.Many2one( | |
"nfe.v4_00.icms51", | |
choice='11', | |
string="Tributção pelo ICMS", xsd_required=True, | |
help=("Tributção pelo ICMS" | |
"51 - Diferimento" | |
"A exigência do preenchimento das informações do ICMS diferido" | |
"fica à critério de cada UF.")) | |
nfe_ICMS60 = fields.Many2one( | |
"nfe.v4_00.icms60", | |
choice='11', | |
string="Tributação pelo ICMS", xsd_required=True, | |
help=("Tributação pelo ICMS" | |
"60 - ICMS cobrado anteriormente por substituição tributária")) | |
nfe_ICMS70 = fields.Many2one( | |
"nfe.v4_00.icms70", | |
choice='11', | |
string="Tributação pelo ICMS", xsd_required=True, | |
help=("Tributação pelo ICMS" | |
"70 - Com redução de base de cálculo e cobrança do ICMS por" | |
"substituição tributária")) | |
nfe_ICMS90 = fields.Many2one( | |
"nfe.v4_00.icms90", | |
choice='11', | |
string="Tributação pelo ICMS", xsd_required=True, | |
help=("Tributação pelo ICMS" | |
"90 - Outras")) | |
nfe_ICMSPart = fields.Many2one( | |
"nfe.v4_00.icmspart", | |
choice='11', | |
string="ICMSPart", xsd_required=True, | |
help=("Partilha do ICMS entre a UF de origem e UF de destino ou a UF" | |
"definida na legislação" | |
"Operação interestadual para consumidor final com partilha do" | |
"ICMS devido na operação entre a UF de origem e a" | |
"UF do destinatário ou ou a UF definida na" | |
"legislação. (Ex. UF da concessionária de entrega" | |
"do veículos)")) | |
nfe_ICMSST = fields.Many2one( | |
"nfe.v4_00.icmsst", | |
choice='11', | |
string="Grupo de informação do ICMSST devido para a UF de destino", | |
xsd_required=True, | |
help=("Grupo de informação do ICMSST devido para a UF de destino, nas" | |
"operações interestaduais de produtos que tiveram" | |
"retenção antecipada de ICMS por ST na UF do" | |
"remetente. Repasse via Substituto Tributário.")) | |
nfe_ICMSSN101 = fields.Many2one( | |
"nfe.v4_00.icmssn101", | |
choice='11', | |
string="Tributação do ICMS pelo SIMPLES NACIONAL e CSOSN=101", | |
xsd_required=True, | |
help="Tributação do ICMS pelo SIMPLES NACIONAL e CSOSN=101 (v.2.0)") | |
nfe_ICMSSN102 = fields.Many2one( | |
"nfe.v4_00.icmssn102", | |
choice='11', | |
string="Tributação do ICMS pelo SIMPLES NACIONAL e CSOSN=102", | |
xsd_required=True, | |
help=("Tributação do ICMS pelo SIMPLES NACIONAL e CSOSN=102, 103, 300" | |
"ou 400 (v.2.0))")) | |
nfe_ICMSSN201 = fields.Many2one( | |
"nfe.v4_00.icmssn201", | |
choice='11', | |
string="Tributação do ICMS pelo SIMPLES NACIONAL e CSOSN=201", | |
xsd_required=True, | |
help="Tributação do ICMS pelo SIMPLES NACIONAL e CSOSN=201 (v.2.0)") | |
nfe_ICMSSN202 = fields.Many2one( | |
"nfe.v4_00.icmssn202", | |
choice='11', | |
string="Tributação do ICMS pelo SIMPLES NACIONAL e CSOSN=202 ou 203", | |
xsd_required=True, | |
help=("Tributação do ICMS pelo SIMPLES NACIONAL e CSOSN=202 ou 203" | |
"(v.2.0)")) | |
nfe_ICMSSN500 = fields.Many2one( | |
"nfe.v4_00.icmssn500", | |
choice='11', | |
string="Tributação do ICMS pelo SIMPLES NACIONAL", | |
xsd_required=True, | |
help=("Tributação do ICMS pelo SIMPLES NACIONAL,CRT=1 – Simples" | |
"Nacional e CSOSN=500 (v.2.0)")) | |
nfe_ICMSSN900 = fields.Many2one( | |
"nfe.v4_00.icmssn900", | |
choice='11', | |
string="Tributação do ICMS pelo SIMPLES NACIONAL", | |
xsd_required=True, | |
help=("Tributação do ICMS pelo SIMPLES NACIONAL, CRT=1 – Simples" | |
"Nacional e CSOSN=900 (v2.0)")) | |
class ICMSUFDest(spec_models.AbstractSpecMixin): | |
"""Grupo a ser informado nas vendas interestarduais para consumidor final, | |
não contribuinte de ICMS""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.icmsufdest' | |
_generateds_type = 'ICMSUFDestType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_vBCUFDest' | |
nfe_vBCUFDest = fields.Monetary( | |
digits=2, | |
string="Valor da Base de Cálculo do ICMS na UF do destinatário", | |
xsd_required=True) | |
nfe_vBCFCPUFDest = fields.Monetary( | |
digits=2, | |
string="Valor da Base de Cálculo do FCP na UF do destinatário") | |
nfe_pFCPUFDest = fields.Monetary( | |
digits=2, string="pFCPUFDest", | |
help=("Percentual adicional inserido na alíquota interna da UF de" | |
"destino, relativo ao Fundo de Combate à Pobreza" | |
"(FCP) naquela UF.")) | |
nfe_pICMSUFDest = fields.Monetary( | |
digits=2, string="pICMSUFDest", xsd_required=True, | |
help=("Alíquota adotada nas operações internas na UF do destinatário" | |
"para o produto / mercadoria.")) | |
nfe_pICMSInter = fields.Selection( | |
pICMSInterType, | |
string="Alíquota interestadual das UF envolvidas", | |
xsd_required=True, | |
help=("Alíquota interestadual das UF envolvidas" | |
"- 4% alíquota interestadual para produtos importados" | |
"- 7% para os Estados de origem do Sul e Sudeste (exceto ES)," | |
"destinado para os Estados do Norte e Nordeste ou" | |
"ES" | |
"- 12% para os demais casos.")) | |
nfe_pICMSInterPart = fields.Monetary( | |
digits=2, string="Percentual de partilha para a UF do destinatário", | |
xsd_required=True, | |
help=("Percentual de partilha para a UF do destinatário: - 40% em" | |
"2016; - 60% em 2017; - 80% em 2018; - 100% a" | |
"partir de 2019.")) | |
nfe_vFCPUFDest = fields.Monetary( | |
digits=2, | |
string="Valor do ICMS relativo ao Fundo de Combate à Pobreza", | |
help=("Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP) da" | |
"UF de destino.")) | |
nfe_vICMSUFDest = fields.Monetary( | |
digits=2, | |
string="Valor do ICMS de partilha para a UF do destinatário", | |
xsd_required=True) | |
nfe_vICMSUFRemet = fields.Monetary( | |
digits=2, string="Valor do ICMS de partilha para a UF do remetente", | |
xsd_required=True, | |
help=("Valor do ICMS de partilha para a UF do remetente. Nota: A" | |
"partir de 2019, este valor será zero.")) | |
class II(spec_models.AbstractSpecMixin): | |
"Dados do Imposto de Importação" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.ii' | |
_generateds_type = 'IIType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_vBC' | |
nfe_vBC = fields.Monetary( | |
digits=2, string="Base da BC do Imposto de Importação", | |
xsd_required=True) | |
nfe_vDespAdu = fields.Monetary( | |
digits=2, string="Valor das despesas aduaneiras", | |
xsd_required=True) | |
nfe_vII = fields.Monetary( | |
digits=2, string="Valor do Imposto de Importação", | |
xsd_required=True) | |
nfe_vIOF = fields.Monetary( | |
digits=2, string="Valor do Imposto sobre Operações Financeiras", | |
xsd_required=True) | |
class IPINT(spec_models.AbstractSpecMixin): | |
_description = 'ipint' | |
_name = 'nfe.v4_00.ipint' | |
_generateds_type = 'IPINTType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_CST' | |
nfe_CST = fields.Selection( | |
CSTType71, | |
string="Código da Situação Tributária do IPI", | |
xsd_required=True, | |
help=("Código da Situação Tributária do IPI:" | |
"01-Entrada tributada com alíquota zero" | |
"02-Entrada isenta" | |
"03-Entrada não-tributada" | |
"04-Entrada imune" | |
"05-Entrada com suspensão" | |
"51-Saída tributada com alíquota zero" | |
"52-Saída isenta" | |
"53-Saída não-tributada" | |
"54-Saída imune" | |
"55-Saída com suspensão")) | |
class IPITrib(spec_models.AbstractSpecMixin): | |
_description = 'ipitrib' | |
_name = 'nfe.v4_00.ipitrib' | |
_generateds_type = 'IPITribType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_CST' | |
nfe_choice20 = fields.Selection([ | |
('nfe_vBC', 'vBC'), | |
('nfe_pIPI', 'pIPI'), | |
('nfe_qUnid', 'qUnid'), | |
('nfe_vUnid', 'vUnid')], | |
"vBC/pIPI/qUnid/vUnid", | |
default="nfe_vBC") | |
nfe_CST = fields.Selection( | |
CSTType70, | |
string="Código da Situação Tributária do IPI", | |
xsd_required=True, | |
help=("Código da Situação Tributária do IPI:" | |
"00-Entrada com recuperação de crédito" | |
"49 - Outras entradas" | |
"50-Saída tributada" | |
"99-Outras saídas")) | |
nfe_vBC = fields.Monetary( | |
digits=2, choice='20', | |
string="Valor da BC do IPI", xsd_required=True) | |
nfe_pIPI = fields.Monetary( | |
digits=2, choice='20', | |
string="Alíquota do IPI", xsd_required=True) | |
nfe_qUnid = fields.Monetary( | |
digits=4, choice='20', | |
string="Quantidade total na unidade padrão para tributação", | |
xsd_required=True) | |
nfe_vUnid = fields.Monetary( | |
digits=4, choice='20', | |
string="Valor por Unidade Tributável", | |
xsd_required=True, | |
help=("Valor por Unidade Tributável. Informar o valor do imposto" | |
"Pauta por unidade de medida.")) | |
nfe_vIPI = fields.Monetary( | |
digits=2, string="Valor do IPI", xsd_required=True) | |
class IPI(spec_models.AbstractSpecMixin): | |
_description = 'ipi' | |
_name = 'nfe.v4_00.ipi' | |
_generateds_type = 'IPIType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_vIPIDevol' | |
nfe_vIPIDevol = fields.Monetary( | |
digits=2, string="Valor do IPI devolvido", | |
xsd_required=True) | |
class ISSQN(spec_models.AbstractSpecMixin): | |
"ISSQN" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.issqn' | |
_generateds_type = 'ISSQNType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_vBC' | |
nfe_vBC = fields.Monetary( | |
digits=2, string="Valor da BC do ISSQN", xsd_required=True) | |
nfe_vAliq = fields.Monetary( | |
digits=2, string="Alíquota do ISSQN", xsd_required=True) | |
nfe_vISSQN = fields.Monetary( | |
digits=2, string="Valor da do ISSQN", xsd_required=True) | |
nfe_cMunFG = fields.Char( | |
string="Informar o município de ocorrência do fato gerador do ISSQN", | |
xsd_required=True, | |
help=("Informar o município de ocorrência do fato gerador do ISSQN." | |
"Utilizar a Tabela do IBGE (Anexo VII - Tabela de" | |
"UF, Município e País). “Atenção, não vincular" | |
"com os campos B12, C10 ou E10” v2.0")) | |
nfe_cListServ = fields.Selection( | |
TCListServ, | |
string="cListServ", xsd_required=True, | |
help=("Informar o Item da lista de serviços da LC 116/03 em que se" | |
"classifica o serviço.")) | |
nfe_vDeducao = fields.Monetary( | |
digits=2, string="Valor dedução para redução da base de cálculo") | |
nfe_vOutro = fields.Monetary( | |
digits=2, string="Valor outras retenções") | |
nfe_vDescIncond = fields.Monetary( | |
digits=2, string="Valor desconto incondicionado") | |
nfe_vDescCond = fields.Monetary( | |
digits=2, string="Valor desconto condicionado") | |
nfe_vISSRet = fields.Monetary( | |
digits=2, string="Valor Retenção ISS") | |
nfe_indISS = fields.Selection( | |
indISSType, | |
string="Exibilidade do ISS:1", xsd_required=True, | |
help=("Exibilidade do ISS:1-Exigível;2-Não" | |
"incidente;3-Isenção;4-Exportação;5-Imunidade;6-E" | |
"xig.Susp. Judicial;7-Exig.Susp. ADM")) | |
nfe_cServico = fields.Char( | |
string="Código do serviço prestado dentro do município") | |
nfe_cMun = fields.Char( | |
string="Código do Município de Incidência do Imposto") | |
nfe_cPais = fields.Char( | |
string="Código de Pais") | |
nfe_nProcesso = fields.Char( | |
string="nProcesso", | |
help=("Número do Processo administrativo ou judicial de suspenção do" | |
"processo")) | |
nfe_indIncentivo = fields.Selection( | |
indIncentivoType, | |
string="Indicador de Incentivo Fiscal", | |
xsd_required=True, | |
help="Indicador de Incentivo Fiscal. 1=Sim; 2=Não") | |
class ISSQNtot(spec_models.AbstractSpecMixin): | |
"Totais referentes ao ISSQN" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.issqntot' | |
_generateds_type = 'ISSQNtotType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_vServ' | |
nfe_vServ = fields.Monetary( | |
digits=2, string="Valor Total dos Serviços sob não", | |
help=("Valor Total dos Serviços sob não-incidência ou não tributados" | |
"pelo ICMS")) | |
nfe_vBC = fields.Monetary( | |
digits=2, string="Base de Cálculo do ISS") | |
nfe_vISS = fields.Monetary( | |
digits=2, string="Valor Total do ISS") | |
nfe_vPIS = fields.Monetary( | |
digits=2, string="Valor do PIS sobre serviços") | |
nfe_vCOFINS = fields.Monetary( | |
digits=2, string="Valor do COFINS sobre serviços") | |
nfe_dCompet = fields.Char( | |
string="Data da prestação do serviço", | |
xsd_required=True, | |
help="Data da prestação do serviço (AAAA-MM-DD)") | |
nfe_vDeducao = fields.Monetary( | |
digits=2, string="Valor dedução para redução da base de cálculo") | |
nfe_vOutro = fields.Monetary( | |
digits=2, string="Valor outras retenções") | |
nfe_vDescIncond = fields.Monetary( | |
digits=2, string="Valor desconto incondicionado") | |
nfe_vDescCond = fields.Monetary( | |
digits=2, string="Valor desconto condicionado") | |
nfe_vISSRet = fields.Monetary( | |
digits=2, string="Valor Total Retenção ISS") | |
nfe_cRegTrib = fields.Selection( | |
cRegTribType, | |
string="Código do regime especial de tributação") | |
class KeyInfo(spec_models.AbstractSpecMixin): | |
_description = 'keyinfo' | |
_name = 'nfe.v4_00.keyinfo' | |
_generateds_type = 'KeyInfoType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_Id' | |
nfe_Id = fields.Char( | |
string="Id") | |
nfe_X509Data = fields.Many2one( | |
"nfe.v4_00.x509data", | |
string="X509Data", xsd_required=True) | |
class NFref(spec_models.AbstractSpecMixin): | |
"Grupo de infromações da NF referenciada" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.nfref' | |
_generateds_type = 'NFrefType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_refNFe' | |
nfe_NFref_ide_id = fields.Many2one( | |
"nfe.v4_00.ide") | |
nfe_choice4 = fields.Selection([ | |
('nfe_refNFe', 'refNFe'), | |
('nfe_refNF', 'refNF'), | |
('nfe_refNFP', 'refNFP'), | |
('nfe_refCTe', 'refCTe'), | |
('nfe_refECF', 'refECF')], | |
"refNFe/refNF/refNFP/refCTe/refECF", | |
default="nfe_refNFe") | |
nfe_refNFe = fields.Char( | |
choice='4', | |
string="Chave de acesso das NF", | |
xsd_required=True, | |
help=("Chave de acesso das NF-e referenciadas. Chave de acesso" | |
"compostas por Código da UF (tabela do IBGE) +" | |
"AAMM da emissão + CNPJ do Emitente + modelo," | |
"série e número da NF-e Referenciada + Código" | |
"Numérico + DV.")) | |
nfe_refNF = fields.Many2one( | |
"nfe.v4_00.refnf", | |
choice='4', | |
string="refNF", xsd_required=True, | |
help=("Dados da NF modelo 1/1A referenciada ou NF modelo 2" | |
"referenciada")) | |
nfe_refNFP = fields.Many2one( | |
"nfe.v4_00.refnfp", | |
choice='4', | |
string="Grupo com as informações NF de produtor referenciada", | |
xsd_required=True) | |
nfe_refCTe = fields.Char( | |
choice='4', | |
string="Utilizar esta TAG para referenciar um CT", | |
xsd_required=True, | |
help=("Utilizar esta TAG para referenciar um CT-e emitido" | |
"anteriormente, vinculada a NF-e atual")) | |
nfe_refECF = fields.Many2one( | |
"nfe.v4_00.refecf", | |
choice='4', | |
string="Grupo do Cupom Fiscal vinculado à NF", | |
xsd_required=True, | |
help="Grupo do Cupom Fiscal vinculado à NF-e") | |
class PISAliq(spec_models.AbstractSpecMixin): | |
"""Código de Situação Tributária do PIS. | |
01 – Operação Tributável - Base de Cálculo = Valor da Operação | |
Alíquota Normal (Cumulativo/Não Cumulativo); | |
02 - Operação Tributável - Base de Calculo = Valor da Operação | |
(Alíquota Diferenciada);""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.pisaliq' | |
_generateds_type = 'PISAliqType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_CST' | |
nfe_CST = fields.Selection( | |
CSTType41, | |
string="Código de Situação Tributária do PIS", | |
xsd_required=True, | |
help=("Código de Situação Tributária do PIS." | |
"01 – Operação Tributável - Base de Cálculo = Valor da Operação" | |
"Alíquota Normal (Cumulativo/Não Cumulativo);" | |
"02 - Operação Tributável - Base de Calculo = Valor da Operação" | |
"(Alíquota Diferenciada);")) | |
nfe_vBC = fields.Monetary( | |
digits=2, string="Valor da BC do PIS", xsd_required=True) | |
nfe_pPIS = fields.Monetary( | |
digits=2, string="Alíquota do PIS (em percentual)", | |
xsd_required=True) | |
nfe_vPIS = fields.Monetary( | |
digits=2, string="Valor do PIS", xsd_required=True) | |
class PISNT(spec_models.AbstractSpecMixin): | |
"""Código de Situação Tributária do PIS. | |
04 - Operação Tributável - Tributação Monofásica - (Alíquota Zero); | |
06 - Operação Tributável - Alíquota Zero; | |
07 - Operação Isenta da contribuição; | |
08 - Operação Sem Incidência da contribuição; | |
09 - Operação com suspensão da contribuição;""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.pisnt' | |
_generateds_type = 'PISNTType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_CST' | |
nfe_CST = fields.Selection( | |
CSTType43, | |
string="Código de Situação Tributária do PIS", | |
xsd_required=True, | |
help=("Código de Situação Tributária do PIS." | |
"04 - Operação Tributável - Tributação Monofásica - (Alíquota" | |
"Zero);" | |
"05 - Operação Tributável (ST);" | |
"06 - Operação Tributável - Alíquota Zero;" | |
"07 - Operação Isenta da contribuição;" | |
"08 - Operação Sem Incidência da contribuição;" | |
"09 - Operação com suspensão da contribuição;")) | |
class PISOutr(spec_models.AbstractSpecMixin): | |
"""Código de Situação Tributária do PIS. | |
99 - Outras Operações.""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.pisoutr' | |
_generateds_type = 'PISOutrType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_CST' | |
nfe_choice13 = fields.Selection([ | |
('nfe_vBC', 'vBC'), | |
('nfe_pPIS', 'pPIS'), | |
('nfe_qBCProd', 'qBCProd'), | |
('nfe_vAliqProd', 'vAliqProd')], | |
"vBC/pPIS/qBCProd/vAliqProd", | |
default="nfe_vBC") | |
nfe_CST = fields.Selection( | |
CSTType44, | |
string="Código de Situação Tributária do PIS", | |
xsd_required=True, | |
help=("Código de Situação Tributária do PIS." | |
"99 - Outras Operações.")) | |
nfe_vBC = fields.Monetary( | |
digits=2, choice='13', | |
string="Valor da BC do PIS", xsd_required=True) | |
nfe_pPIS = fields.Monetary( | |
digits=2, choice='13', | |
string="Alíquota do PIS (em percentual)", | |
xsd_required=True) | |
nfe_qBCProd = fields.Monetary( | |
digits=4, choice='13', | |
string="Quantidade Vendida (NT2011/004)", | |
xsd_required=True) | |
nfe_vAliqProd = fields.Monetary( | |
digits=4, choice='13', | |
string="Alíquota do PIS", xsd_required=True, | |
help="Alíquota do PIS (em reais) (NT2011/004)") | |
nfe_vPIS = fields.Monetary( | |
digits=2, string="Valor do PIS", xsd_required=True) | |
class PISQtde(spec_models.AbstractSpecMixin): | |
"""Código de Situação Tributária do PIS. | |
03 - Operação Tributável - Base de Calculo = Quantidade Vendida x | |
Alíquota por Unidade de Produto;""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.pisqtde' | |
_generateds_type = 'PISQtdeType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_CST' | |
nfe_CST = fields.Selection( | |
CSTType42, | |
string="Código de Situação Tributária do PIS", | |
xsd_required=True, | |
help=("Código de Situação Tributária do PIS." | |
"03 - Operação Tributável - Base de Calculo = Quantidade" | |
"Vendida x Alíquota por Unidade de Produto;")) | |
nfe_qBCProd = fields.Monetary( | |
digits=4, string="Quantidade Vendida (NT2011/004)", | |
xsd_required=True, | |
help="Quantidade Vendida (NT2011/004)") | |
nfe_vAliqProd = fields.Monetary( | |
digits=4, string="Alíquota do PIS", xsd_required=True, | |
help="Alíquota do PIS (em reais) (NT2011/004)") | |
nfe_vPIS = fields.Monetary( | |
digits=2, string="Valor do PIS", xsd_required=True) | |
class PISST(spec_models.AbstractSpecMixin): | |
"Dados do PIS Substituição Tributária" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.pisst' | |
_generateds_type = 'PISSTType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_vBC' | |
nfe_choice14 = fields.Selection([ | |
('nfe_vBC', 'vBC'), | |
('nfe_pPIS', 'pPIS'), | |
('nfe_qBCProd', 'qBCProd'), | |
('nfe_vAliqProd', 'vAliqProd')], | |
"vBC/pPIS/qBCProd/vAliqProd", | |
default="nfe_vBC") | |
nfe_vBC = fields.Monetary( | |
digits=2, choice='14', | |
string="Valor da BC do PIS ST", xsd_required=True) | |
nfe_pPIS = fields.Monetary( | |
digits=2, choice='14', | |
string="Alíquota do PIS ST (em percentual)", | |
xsd_required=True) | |
nfe_qBCProd = fields.Monetary( | |
digits=4, choice='14', | |
string="Quantidade Vendida", xsd_required=True) | |
nfe_vAliqProd = fields.Monetary( | |
digits=4, choice='14', | |
string="Alíquota do PIS ST (em reais)", | |
xsd_required=True) | |
nfe_vPIS = fields.Monetary( | |
digits=2, string="Valor do PIS ST", xsd_required=True) | |
class PIS(spec_models.AbstractSpecMixin): | |
"Dados do PIS" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.pis' | |
_generateds_type = 'PISType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_PISAliq' | |
nfe_choice12 = fields.Selection([ | |
('nfe_PISAliq', 'PISAliq'), | |
('nfe_PISQtde', 'PISQtde'), | |
('nfe_PISNT', 'PISNT'), | |
('nfe_PISOutr', 'PISOutr')], | |
"PISAliq/PISQtde/PISNT/PISOutr", | |
default="nfe_PISAliq") | |
nfe_PISAliq = fields.Many2one( | |
"nfe.v4_00.pisaliq", | |
choice='12', | |
string="Código de Situação Tributária do PIS", | |
xsd_required=True, | |
help=("Código de Situação Tributária do PIS." | |
"01 – Operação Tributável - Base de Cálculo = Valor da Operação" | |
"Alíquota Normal (Cumulativo/Não Cumulativo);" | |
"02 - Operação Tributável - Base de Calculo = Valor da Operação" | |
"(Alíquota Diferenciada);")) | |
nfe_PISQtde = fields.Many2one( | |
"nfe.v4_00.pisqtde", | |
choice='12', | |
string="Código de Situação Tributária do PIS", | |
xsd_required=True, | |
help=("Código de Situação Tributária do PIS." | |
"03 - Operação Tributável - Base de Calculo = Quantidade" | |
"Vendida x Alíquota por Unidade de Produto;")) | |
nfe_PISNT = fields.Many2one( | |
"nfe.v4_00.pisnt", | |
choice='12', | |
string="Código de Situação Tributária do PIS", | |
xsd_required=True, | |
help=("Código de Situação Tributária do PIS." | |
"04 - Operação Tributável - Tributação Monofásica - (Alíquota" | |
"Zero);" | |
"06 - Operação Tributável - Alíquota Zero;" | |
"07 - Operação Isenta da contribuição;" | |
"08 - Operação Sem Incidência da contribuição;" | |
"09 - Operação com suspensão da contribuição;")) | |
nfe_PISOutr = fields.Many2one( | |
"nfe.v4_00.pisoutr", | |
choice='12', | |
string="Código de Situação Tributária do PIS", | |
xsd_required=True, | |
help=("Código de Situação Tributária do PIS." | |
"99 - Outras Operações.")) | |
class Reference(spec_models.AbstractSpecMixin): | |
_description = 'reference' | |
_name = 'nfe.v4_00.reference' | |
_generateds_type = 'ReferenceType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_Id' | |
nfe_Id = fields.Char( | |
string="Id") | |
nfe_URI = fields.Char( | |
string="URI", xsd_required=True) | |
nfe_Type = fields.Char( | |
string="Type") | |
nfe_Transforms = fields.Many2one( | |
"nfe.v4_00.transforms", | |
string="Transforms", xsd_required=True) | |
nfe_DigestMethod = fields.Many2one( | |
"nfe.v4_00.digestmethod", | |
string="DigestMethod", xsd_required=True) | |
nfe_DigestValue = fields.Char( | |
string="DigestValue", xsd_required=True) | |
class SignatureMethod(spec_models.AbstractSpecMixin): | |
_description = 'signaturemethod' | |
_name = 'nfe.v4_00.signaturemethod' | |
_generateds_type = 'SignatureMethodType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_Algorithm' | |
nfe_Algorithm = fields.Char( | |
string="Algorithm", xsd_required=True) | |
class Signature(spec_models.AbstractSpecMixin): | |
_description = 'signature' | |
_name = 'nfe.v4_00.signature' | |
_generateds_type = 'SignatureType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_Id' | |
nfe_Id = fields.Char( | |
string="Id") | |
nfe_SignedInfo = fields.Many2one( | |
"nfe.v4_00.signedinfo", | |
string="SignedInfo", xsd_required=True) | |
nfe_SignatureValue = fields.Many2one( | |
"nfe.v4_00.signaturevalue", | |
string="SignatureValue", | |
xsd_required=True) | |
nfe_KeyInfo = fields.Many2one( | |
"nfe.v4_00.keyinfo", | |
string="KeyInfo", xsd_required=True) | |
class SignatureValue(spec_models.AbstractSpecMixin): | |
_description = 'signaturevalue' | |
_name = 'nfe.v4_00.signaturevalue' | |
_generateds_type = 'SignatureValueType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_Id' | |
nfe_Id = fields.Char( | |
string="Id") | |
nfe_valueOf_x = fields.Char( | |
string="valueOf_", xsd_required=True) | |
class SignedInfo(spec_models.AbstractSpecMixin): | |
_description = 'signedinfo' | |
_name = 'nfe.v4_00.signedinfo' | |
_generateds_type = 'SignedInfoType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_Id' | |
nfe_Id = fields.Char( | |
string="Id") | |
nfe_CanonicalizationMethod = fields.Many2one( | |
"nfe.v4_00.canonicalizationmethod", | |
string="CanonicalizationMethod", | |
xsd_required=True) | |
nfe_SignatureMethod = fields.Many2one( | |
"nfe.v4_00.signaturemethod", | |
string="SignatureMethod", | |
xsd_required=True) | |
nfe_Reference = fields.Many2one( | |
"nfe.v4_00.reference", | |
string="Reference", xsd_required=True) | |
class TConsReciNFe(spec_models.AbstractSpecMixin): | |
"""Tipo Pedido de Consulta do Recido do Lote de Notas Fiscais | |
Eletrônicas""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.tconsrecinfe' | |
_generateds_type = 'TConsReciNFe' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_versao' | |
nfe_versao = fields.Char( | |
string="versao", xsd_required=True) | |
nfe_tpAmb = fields.Selection( | |
TAmb, | |
string="Identificação do Ambiente", | |
xsd_required=True, | |
help=("Identificação do Ambiente:" | |
"1 - Produção" | |
"2 - Homologação")) | |
nfe_nRec = fields.Char( | |
string="Número do Recibo", xsd_required=True) | |
class TEnderEmi(spec_models.AbstractSpecMixin): | |
"""Tipo Dados do Endereço do Emitente // 24/10/08 - desmembrado / tamanho | |
mínimo""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.tenderemi' | |
_generateds_type = 'TEnderEmi' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_xLgr' | |
nfe_xLgr = fields.Char( | |
string="Logradouro", xsd_required=True) | |
nfe_nro = fields.Char( | |
string="Número", xsd_required=True) | |
nfe_xCpl = fields.Char( | |
string="Complemento") | |
nfe_xBairro = fields.Char( | |
string="Bairro", xsd_required=True) | |
nfe_cMun = fields.Char( | |
string="Código do município", xsd_required=True) | |
nfe_xMun = fields.Char( | |
string="Nome do município", xsd_required=True) | |
nfe_UF = fields.Selection( | |
TUfEmi, | |
string="Sigla da UF", xsd_required=True) | |
nfe_CEP = fields.Char( | |
string="CEP - NT 2011/004", xsd_required=True) | |
nfe_cPais = fields.Selection( | |
cPaisType62, | |
string="Código do país") | |
nfe_xPais = fields.Selection( | |
xPaisType63, | |
string="Nome do país") | |
nfe_fone = fields.Char( | |
string="Preencher com Código DDD + número do telefone", | |
help="Preencher com Código DDD + número do telefone (v.2.0)") | |
class TEndereco(spec_models.AbstractSpecMixin): | |
"Tipo Dados do Endereço // 24/10/08 - tamanho mínimo" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.tendereco' | |
_generateds_type = 'TEndereco' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_xLgr' | |
nfe_xLgr = fields.Char( | |
string="Logradouro", xsd_required=True) | |
nfe_nro = fields.Char( | |
string="Número", xsd_required=True) | |
nfe_xCpl = fields.Char( | |
string="Complemento") | |
nfe_xBairro = fields.Char( | |
string="Bairro", xsd_required=True) | |
nfe_cMun = fields.Char( | |
string="Código do município", xsd_required=True, | |
help=("Código do município (utilizar a tabela do IBGE), informar" | |
"9999999 para operações com o exterior.")) | |
nfe_xMun = fields.Char( | |
string="Nome do município", xsd_required=True, | |
help=("Nome do município, informar EXTERIOR para operações com o" | |
"exterior.")) | |
nfe_UF = fields.Selection( | |
TUf, | |
string="Sigla da UF", xsd_required=True, | |
help="Sigla da UF, informar EX para operações com o exterior.") | |
nfe_CEP = fields.Char( | |
string="CEP") | |
nfe_cPais = fields.Char( | |
string="Código de Pais") | |
nfe_xPais = fields.Char( | |
string="Nome do país") | |
nfe_fone = fields.Char( | |
string="Telefone", | |
help=("Telefone, preencher com Código DDD + número do telefone , nas" | |
"operações com exterior é permtido informar o" | |
"código do país + código da localidade + número" | |
"do telefone")) | |
class TEnviNFe(spec_models.AbstractSpecMixin): | |
"Tipo Pedido de Concessão de Autorização da Nota Fiscal Eletrônica" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.tenvinfe' | |
_generateds_type = 'TEnviNFe' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_versao' | |
nfe_versao = fields.Char( | |
string="versao", xsd_required=True) | |
nfe_idLote = fields.Char( | |
string="idLote", xsd_required=True) | |
nfe_indSinc = fields.Selection( | |
indSincType, | |
string="Indicador de processamento síncrono", | |
xsd_required=True, | |
help="Indicador de processamento síncrono. 0=NÃO; 1=SIM=Síncrono") | |
nfe_NFe = fields.One2many( | |
"nfe.v4_00.tnfe", | |
"nfe_NFe_TEnviNFe_id", | |
string="NFe", xsd_required=True | |
) | |
class TIpi(spec_models.AbstractSpecMixin): | |
"Tipo: Dados do IPI" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.tipi' | |
_generateds_type = 'TIpi' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_CNPJProd' | |
nfe_choice3 = fields.Selection([ | |
('nfe_IPITrib', 'IPITrib'), | |
('nfe_IPINT', 'IPINT')], | |
"IPITrib/IPINT", | |
default="nfe_IPITrib") | |
nfe_CNPJProd = fields.Char( | |
string="CNPJ do produtor da mercadoria", | |
help=("CNPJ do produtor da mercadoria, quando diferente do emitente." | |
"Somente para os casos de exportação direta ou" | |
"indireta.")) | |
nfe_cSelo = fields.Char( | |
string="Código do selo de controle do IPI") | |
nfe_qSelo = fields.Char( | |
string="Quantidade de selo de controle do IPI") | |
nfe_cEnq = fields.Char( | |
string="Código de Enquadramento Legal do IPI", | |
xsd_required=True, | |
help=("Código de Enquadramento Legal do IPI (tabela a ser criada pela" | |
"RFB)")) | |
nfe_IPITrib = fields.Many2one( | |
"nfe.v4_00.ipitrib", | |
choice='3', | |
string="IPITrib", xsd_required=True) | |
nfe_IPINT = fields.Many2one( | |
"nfe.v4_00.ipint", | |
choice='3', | |
string="IPINT", xsd_required=True) | |
class TLocal(spec_models.AbstractSpecMixin): | |
"""Tipo Dados do Local de Retirada ou Entrega // 24/10/08 - tamanho mínimo | |
// v2.0""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.tlocal' | |
_generateds_type = 'TLocal' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_CNPJ' | |
nfe_choice2 = fields.Selection([ | |
('nfe_CNPJ', 'CNPJ'), | |
('nfe_CPF', 'CPF')], | |
"CNPJ/CPF", | |
default="nfe_CNPJ") | |
nfe_CNPJ = fields.Char( | |
choice='2', | |
string="CNPJ", xsd_required=True) | |
nfe_CPF = fields.Char( | |
choice='2', | |
string="CPF (v2.0)", xsd_required=True) | |
nfe_xLgr = fields.Char( | |
string="Logradouro", xsd_required=True) | |
nfe_nro = fields.Char( | |
string="Número", xsd_required=True) | |
nfe_xCpl = fields.Char( | |
string="Complemento") | |
nfe_xBairro = fields.Char( | |
string="Bairro", xsd_required=True) | |
nfe_cMun = fields.Char( | |
string="Código do município", xsd_required=True, | |
help="Código do município (utilizar a tabela do IBGE)") | |
nfe_xMun = fields.Char( | |
string="Nome do município", xsd_required=True) | |
nfe_UF = fields.Selection( | |
TUf, | |
string="Sigla da UF", xsd_required=True) | |
class TNFe(spec_models.AbstractSpecMixin): | |
"Tipo Nota Fiscal Eletrônica" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.tnfe' | |
_generateds_type = 'TNFe' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_infNFe' | |
nfe_NFe_TEnviNFe_id = fields.Many2one( | |
"nfe.v4_00.tenvinfe") | |
nfe_infNFe = fields.Many2one( | |
"nfe.v4_00.infnfe", | |
string="Informações da Nota Fiscal eletrônica", | |
xsd_required=True) | |
nfe_infNFeSupl = fields.Many2one( | |
"nfe.v4_00.infnfesupl", | |
string="Informações suplementares Nota Fiscal") | |
nfe_Signature = fields.Many2one( | |
"nfe.v4_00.signature", | |
string="Signature", xsd_required=True) | |
class TNfeProc(spec_models.AbstractSpecMixin): | |
"Tipo da NF-e processada" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.tnfeproc' | |
_generateds_type = 'TNfeProc' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_versao' | |
nfe_versao = fields.Char( | |
string="versao", xsd_required=True) | |
nfe_NFe = fields.Many2one( | |
"nfe.v4_00.tnfe", | |
string="NFe", xsd_required=True) | |
nfe_protNFe = fields.Many2one( | |
"nfe.v4_00.tprotnfe", | |
string="protNFe", xsd_required=True) | |
class TProtNFe(spec_models.AbstractSpecMixin): | |
"Tipo Protocolo de status resultado do processamento da NF-e" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.tprotnfe' | |
_generateds_type = 'TProtNFe' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_versao' | |
nfe_protNFe_TRetConsReciNFe_id = fields.Many2one( | |
"nfe.v4_00.tretconsrecinfe") | |
nfe_versao = fields.Char( | |
string="versao", xsd_required=True) | |
nfe_infProt = fields.Many2one( | |
"nfe.v4_00.infprot", | |
string="Dados do protocolo de status", | |
xsd_required=True) | |
nfe_Signature = fields.Many2one( | |
"nfe.v4_00.signature", | |
string="Signature") | |
class TRetConsReciNFe(spec_models.AbstractSpecMixin): | |
"""Tipo Retorno do Pedido de Consulta do Recido do Lote de Notas Fiscais | |
Eletrônicas""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.tretconsrecinfe' | |
_generateds_type = 'TRetConsReciNFe' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_versao' | |
nfe_versao = fields.Char( | |
string="versao", xsd_required=True) | |
nfe_tpAmb = fields.Selection( | |
TAmb, | |
string="Identificação do Ambiente", | |
xsd_required=True, | |
help=("Identificação do Ambiente:" | |
"1 - Produção" | |
"2 - Homologação")) | |
nfe_verAplic = fields.Char( | |
string="Versão do Aplicativo que processou a NF", | |
xsd_required=True, | |
help="Versão do Aplicativo que processou a NF-e") | |
nfe_nRec = fields.Char( | |
string="Número do Recibo Consultado", | |
xsd_required=True) | |
nfe_cStat = fields.Char( | |
string="Código do status da mensagem enviada", | |
xsd_required=True) | |
nfe_xMotivo = fields.Char( | |
string="Descrição literal do status do serviço solicitado", | |
xsd_required=True) | |
nfe_cUF = fields.Selection( | |
TCodUfIBGE, | |
string="código da UF de atendimento", | |
xsd_required=True) | |
nfe_dhRecbto = fields.Char( | |
string="Data e hora de processamento", | |
xsd_required=True, | |
help=("Data e hora de processamento, no formato AAAA-MM-" | |
"DDTHH:MM:SSTZD. Em caso de Rejeição, com data e" | |
"hora do recebimento do Lote de NF-e enviado.")) | |
nfe_cMsg = fields.Char( | |
string="Código da Mensagem (v2.0)", | |
help=("Código da Mensagem (v2.0)" | |
"alterado para tamanho variavel 1-4. (NT2011/004)")) | |
nfe_xMsg = fields.Char( | |
string="Mensagem da SEFAZ para o emissor", | |
help="Mensagem da SEFAZ para o emissor. (v2.0)") | |
nfe_protNFe = fields.One2many( | |
"nfe.v4_00.tprotnfe", | |
"nfe_protNFe_TRetConsReciNFe_id", | |
string="Protocolo de status resultado do processamento da NF", | |
help="Protocolo de status resultado do processamento da NF-e" | |
) | |
class TRetEnviNFe(spec_models.AbstractSpecMixin): | |
"Tipo Retorno do Pedido de Autorização da Nota Fiscal Eletrônica" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.tretenvinfe' | |
_generateds_type = 'TRetEnviNFe' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_versao' | |
nfe_choice1 = fields.Selection([ | |
('nfe_infRec', 'infRec'), | |
('nfe_protNFe', 'protNFe')], | |
"infRec/protNFe", | |
default="nfe_infRec") | |
nfe_versao = fields.Char( | |
string="versao", xsd_required=True) | |
nfe_tpAmb = fields.Selection( | |
TAmb, | |
string="Identificação do Ambiente", | |
xsd_required=True, | |
help=("Identificação do Ambiente:" | |
"1 - Produção" | |
"2 - Homologação")) | |
nfe_verAplic = fields.Char( | |
string="Versão do Aplicativo que recebeu o Lote", | |
xsd_required=True) | |
nfe_cStat = fields.Char( | |
string="Código do status da mensagem enviada", | |
xsd_required=True) | |
nfe_xMotivo = fields.Char( | |
string="Descrição literal do status do serviço solicitado", | |
xsd_required=True) | |
nfe_cUF = fields.Selection( | |
TCodUfIBGE, | |
string="código da UF de atendimento", | |
xsd_required=True) | |
nfe_dhRecbto = fields.Char( | |
string="Data e hora do recebimento", | |
xsd_required=True, | |
help="Data e hora do recebimento, no formato AAAA-MM-DDTHH:MM:SSTZD") | |
nfe_infRec = fields.Many2one( | |
"nfe.v4_00.infrec", | |
choice='1', | |
string="Dados do Recibo do Lote") | |
nfe_protNFe = fields.Many2one( | |
"nfe.v4_00.tprotnfe", | |
choice='1', | |
string="Protocolo de status resultado do processamento sincrono da NFC", | |
help=("Protocolo de status resultado do processamento sincrono da" | |
"NFC-e")) | |
class TVeiculo(spec_models.AbstractSpecMixin): | |
"Tipo Dados do Veículo" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.tveiculo' | |
_generateds_type = 'TVeiculo' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_placa' | |
nfe_reboque_transp_id = fields.Many2one( | |
"nfe.v4_00.transp") | |
nfe_placa = fields.Char( | |
string="Placa do veículo (NT2011/004)", | |
xsd_required=True) | |
nfe_UF = fields.Selection( | |
TUf, | |
string="Sigla da UF", xsd_required=True) | |
nfe_RNTC = fields.Char( | |
string="Registro Nacional de Transportador de Carga", | |
help="Registro Nacional de Transportador de Carga (ANTT)") | |
class Transform(spec_models.AbstractSpecMixin): | |
_description = 'transform' | |
_name = 'nfe.v4_00.transform' | |
_generateds_type = 'TransformType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_Algorithm' | |
nfe_Transform_Transforms_id = fields.Many2one( | |
"nfe.v4_00.transforms") | |
nfe_Algorithm = fields.Char( | |
string="Algorithm", xsd_required=True) | |
nfe_XPath = fields.Char( | |
string="XPath") | |
class Transforms(spec_models.AbstractSpecMixin): | |
_description = 'transforms' | |
_name = 'nfe.v4_00.transforms' | |
_generateds_type = 'TransformsType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_Transform' | |
nfe_Transform = fields.One2many( | |
"nfe.v4_00.transform", | |
"nfe_Transform_Transforms_id", | |
string="Transform", xsd_required=True | |
) | |
class X509Data(spec_models.AbstractSpecMixin): | |
_description = 'x509data' | |
_name = 'nfe.v4_00.x509data' | |
_generateds_type = 'X509DataType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_X509Certificate' | |
nfe_X509Certificate = fields.Char( | |
string="X509Certificate", | |
xsd_required=True) | |
class adi(spec_models.AbstractSpecMixin): | |
"Adições (NT 2011/004)" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.adi' | |
_generateds_type = 'adiType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_nAdicao' | |
nfe_adi_DI_id = fields.Many2one( | |
"nfe.v4_00.di") | |
nfe_nAdicao = fields.Char( | |
string="Número da Adição", xsd_required=True) | |
nfe_nSeqAdic = fields.Char( | |
string="Número seqüencial do item dentro da Adição", | |
xsd_required=True) | |
nfe_cFabricante = fields.Char( | |
string="Código do fabricante estrangeiro", | |
xsd_required=True, | |
help=("Código do fabricante estrangeiro (usado nos sistemas internos" | |
"de informação do emitente da NF-e)")) | |
nfe_vDescDI = fields.Monetary( | |
digits=2, string="Valor do desconto do item da DI – adição") | |
nfe_nDraw = fields.Char( | |
string="Número do ato concessório de Drawback") | |
class arma(spec_models.AbstractSpecMixin): | |
"Armamentos" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.arma' | |
_generateds_type = 'armaType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_tpArma' | |
nfe_arma_prod_id = fields.Many2one( | |
"nfe.v4_00.prod") | |
nfe_tpArma = fields.Selection( | |
tpArmaType, | |
string="Indicador do tipo de arma de fogo", | |
xsd_required=True, | |
help=("Indicador do tipo de arma de fogo (0 - Uso permitido; 1 - Uso" | |
"restrito)")) | |
nfe_nSerie = fields.Char( | |
string="Número de série da arma", | |
xsd_required=True) | |
nfe_nCano = fields.Char( | |
string="Número de série do cano", | |
xsd_required=True) | |
nfe_descr = fields.Char( | |
string="Descrição completa da arma", | |
xsd_required=True, | |
help=("Descrição completa da arma, compreendendo: calibre, marca," | |
"capacidade, tipo de funcionamento, comprimento e" | |
"demais elementos que permitam a sua perfeita" | |
"identificação.")) | |
class autXML(spec_models.AbstractSpecMixin): | |
"Pessoas autorizadas para o download do XML da NF-e" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.autxml' | |
_generateds_type = 'autXMLType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_CNPJ' | |
nfe_autXML_infNFe_id = fields.Many2one( | |
"nfe.v4_00.infnfe") | |
nfe_choice8 = fields.Selection([ | |
('nfe_CNPJ', 'CNPJ'), | |
('nfe_CPF', 'CPF')], | |
"CNPJ/CPF", | |
default="nfe_CNPJ") | |
nfe_CNPJ = fields.Char( | |
choice='8', | |
string="CNPJ Autorizado", xsd_required=True) | |
nfe_CPF = fields.Char( | |
choice='8', | |
string="CPF Autorizado", xsd_required=True) | |
class avulsa(spec_models.AbstractSpecMixin): | |
"Emissão de avulsa, informar os dados do Fisco emitente" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.avulsa' | |
_generateds_type = 'avulsaType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_CNPJ' | |
nfe_CNPJ = fields.Char( | |
string="CNPJ do Órgão emissor", xsd_required=True) | |
nfe_xOrgao = fields.Char( | |
string="Órgão emitente", xsd_required=True) | |
nfe_matr = fields.Char( | |
string="Matrícula do agente", xsd_required=True) | |
nfe_xAgente = fields.Char( | |
string="Nome do agente", xsd_required=True) | |
nfe_fone = fields.Char( | |
string="Telefone") | |
nfe_UF = fields.Selection( | |
TUfEmi, | |
string="Sigla da Unidade da Federação", | |
xsd_required=True) | |
nfe_nDAR = fields.Char( | |
string="Número do Documento de Arrecadação de Receita") | |
nfe_dEmi = fields.Char( | |
string="Data de emissão do DAR (AAAA-MM-DD)") | |
nfe_vDAR = fields.Monetary( | |
digits=2, string="Valor Total constante no DAR") | |
nfe_repEmi = fields.Char( | |
string="Repartição Fiscal emitente", | |
xsd_required=True) | |
nfe_dPag = fields.Char( | |
string="Data de pagamento do DAR", | |
help="Data de pagamento do DAR (AAAA-MM-DD)") | |
class cana(spec_models.AbstractSpecMixin): | |
"Informações de registro aquisições de cana" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.cana' | |
_generateds_type = 'canaType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_safra' | |
nfe_safra = fields.Char( | |
string="Identificação da safra", | |
xsd_required=True) | |
nfe_ref = fields.Char( | |
string="Mês e Ano de Referência", xsd_required=True, | |
help="Mês e Ano de Referência, formato: MM/AAAA") | |
nfe_forDia = fields.One2many( | |
"nfe.v4_00.fordia", | |
"nfe_forDia_cana_id", | |
string="Fornecimentos diários", | |
xsd_required=True | |
) | |
nfe_qTotMes = fields.Monetary( | |
digits=0, string="Total do mês", xsd_required=True) | |
nfe_qTotAnt = fields.Monetary( | |
digits=0, string="Total Anterior", xsd_required=True) | |
nfe_qTotGer = fields.Monetary( | |
digits=0, string="Total Geral", xsd_required=True) | |
nfe_deduc = fields.One2many( | |
"nfe.v4_00.deduc", | |
"nfe_deduc_cana_id", | |
string="Deduções - Taxas e Contribuições" | |
) | |
nfe_vFor = fields.Monetary( | |
digits=2, string="Valor dos fornecimentos", | |
xsd_required=True, | |
help="Valor dos fornecimentos") | |
nfe_vTotDed = fields.Monetary( | |
digits=2, string="Valor Total das Deduções", | |
xsd_required=True) | |
nfe_vLiqFor = fields.Monetary( | |
digits=2, string="Valor Líquido dos fornecimentos", | |
xsd_required=True) | |
class card(spec_models.AbstractSpecMixin): | |
"Grupo de Cartões" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.card' | |
_generateds_type = 'cardType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_tpIntegra' | |
nfe_tpIntegra = fields.Selection( | |
tpIntegraType, | |
string="tpIntegra", xsd_required=True, | |
help=("Tipo de Integração do processo de pagamento com o sistema de" | |
"automação da empresa/")) | |
nfe_CNPJ = fields.Char( | |
string="CNPJ da credenciadora de cartão de crédito/débito") | |
nfe_tBand = fields.Selection( | |
tBandType, | |
string="tBand", | |
help=("Bandeira da operadora de cartão de crédito/débito:01–Visa;" | |
"02–Mastercard; 03–American Express;" | |
"04–Sorocred;05-Diners Club;06-Elo;07-Hipercard;0" | |
"8-Aura;09-Cabal;99–Outros")) | |
nfe_cAut = fields.Char( | |
string="Número de autorização da operação cartão de crédito/débito") | |
class cobr(spec_models.AbstractSpecMixin): | |
"Dados da cobrança da NF-e" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.cobr' | |
_generateds_type = 'cobrType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_fat' | |
nfe_fat = fields.Many2one( | |
"nfe.v4_00.fat", | |
string="Dados da fatura") | |
nfe_dup = fields.One2many( | |
"nfe.v4_00.dup", | |
"nfe_dup_cobr_id", | |
string="Dados das duplicatas NT 2011/004" | |
) | |
class comb(spec_models.AbstractSpecMixin): | |
"Informar apenas para operações com combustíveis líquidos" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.comb' | |
_generateds_type = 'combType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_cProdANP' | |
nfe_cProdANP = fields.Char( | |
string="Código de produto da ANP", | |
xsd_required=True, | |
help=("Código de produto da ANP. codificação de produtos do SIMP" | |
"(http://www.anp.gov.br)")) | |
nfe_descANP = fields.Char( | |
string="Descrição do Produto conforme ANP", | |
xsd_required=True, | |
help=("Descrição do Produto conforme ANP. Utilizar a descrição de" | |
"produtos do Sistema de Informações de" | |
"Movimentação de Produtos - SIMP" | |
"(http://www.anp.gov.br/simp/).")) | |
nfe_pGLP = fields.Monetary( | |
digits=2, | |
string="Percentual do GLP derivado do petróleo no produto GLP", | |
help=("Percentual do GLP derivado do petróleo no produto GLP" | |
"(cProdANP=210203001). Informar em número decimal" | |
"o percentual do GLP derivado de petróleo no" | |
"produto GLP. Valores 0 a 100.")) | |
nfe_pGNn = fields.Monetary( | |
digits=2, string="Percentual de gás natural nacional", | |
help=("Percentual de gás natural nacional - GLGNn para o produto GLP" | |
"(cProdANP=210203001). Informar em número decimal" | |
"o percentual do Gás Natural Nacional - GLGNn" | |
"para o produto GLP. Valores de 0 a 100.")) | |
nfe_pGNi = fields.Monetary( | |
digits=2, | |
string="Percentual de gás natural importado GLGNi para o produto GLP", | |
help=("Percentual de gás natural importado GLGNi para o produto GLP" | |
"(cProdANP=210203001). Informar em número deciaml" | |
"o percentual do Gás Natural Importado - GLGNi" | |
"para o produto GLP. Valores de 0 a 100.")) | |
nfe_vPart = fields.Monetary( | |
digits=2, string="Valor de partida", | |
help=("Valor de partida (cProdANP=210203001). Deve ser informado" | |
"neste campo o valor por quilograma sem ICMS.")) | |
nfe_CODIF = fields.Char( | |
string="Código de autorização / registro do CODIF", | |
help=("Código de autorização / registro do CODIF. Informar apenas" | |
"quando a UF utilizar o CODIF (Sistema de" | |
"Controle do Diferimento do Imposto nas Operações" | |
"com AEAC - Álcool Etílico Anidro Combustível).")) | |
nfe_qTemp = fields.Monetary( | |
digits=4, string="Quantidade de combustível", | |
help=("Quantidade de combustível" | |
"faturada à temperatura ambiente." | |
"Informar quando a quantidade" | |
"faturada informada no campo" | |
"qCom (I10) tiver sido ajustada para" | |
"uma temperatura diferente da" | |
"ambiente.")) | |
nfe_UFCons = fields.Selection( | |
TUf, | |
string="Sigla da UF de Consumo", | |
xsd_required=True) | |
nfe_CIDE = fields.Many2one( | |
"nfe.v4_00.cide", | |
string="CIDE Combustíveis") | |
nfe_encerrante = fields.Many2one( | |
"nfe.v4_00.encerrante", | |
string="Informações do grupo de 'encerrante'", | |
help="Informações do grupo de 'encerrante'") | |
class compra(spec_models.AbstractSpecMixin): | |
"Informações de compras (Nota de Empenho, Pedido e Contrato)" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.compra' | |
_generateds_type = 'compraType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_xNEmp' | |
nfe_xNEmp = fields.Char( | |
string="Informação da Nota de Empenho de compras públicas", | |
help="Informação da Nota de Empenho de compras públicas (NT2011/004)") | |
nfe_xPed = fields.Char( | |
string="Informação do pedido") | |
nfe_xCont = fields.Char( | |
string="Informação do contrato") | |
class deduc(spec_models.AbstractSpecMixin): | |
"Deduções - Taxas e Contribuições" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.deduc' | |
_generateds_type = 'deducType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_xDed' | |
nfe_deduc_cana_id = fields.Many2one( | |
"nfe.v4_00.cana") | |
nfe_xDed = fields.Char( | |
string="Descrição da Dedução", xsd_required=True) | |
nfe_vDed = fields.Monetary( | |
digits=2, string="valor da dedução", xsd_required=True) | |
class dest(spec_models.AbstractSpecMixin): | |
"Identificação do Destinatário" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.dest' | |
_generateds_type = 'destType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_CNPJ' | |
nfe_choice7 = fields.Selection([ | |
('nfe_CNPJ', 'CNPJ'), | |
('nfe_CPF', 'CPF'), | |
('nfe_idEstrangeiro', 'idEstrangeiro')], | |
"CNPJ/CPF/idEstrangeiro", | |
default="nfe_CNPJ") | |
nfe_CNPJ = fields.Char( | |
choice='7', | |
string="Número do CNPJ", xsd_required=True) | |
nfe_CPF = fields.Char( | |
choice='7', | |
string="Número do CPF", xsd_required=True) | |
nfe_idEstrangeiro = fields.Char( | |
choice='7', | |
string="Identificador do destinatário", | |
xsd_required=True, | |
help=("Identificador do destinatário, em caso de comprador" | |
"estrangeiro")) | |
nfe_xNome = fields.Char( | |
string="Razão Social ou nome do destinatário") | |
nfe_enderDest = fields.Many2one( | |
"nfe.v4_00.tendereco", | |
string="Dados do endereço") | |
nfe_indIEDest = fields.Selection( | |
indIEDestType, | |
string="Indicador da IE do destinatário", | |
xsd_required=True, | |
help=("Indicador da IE do destinatário:" | |
"1 – Contribuinte ICMSpagamento à vista;" | |
"2 – Contribuinte isento de inscrição;" | |
"9 – Não Contribuinte")) | |
nfe_IE = fields.Char( | |
string="Inscrição Estadual", | |
help=("Inscrição Estadual (obrigatório nas operações com" | |
"contribuintes do ICMS)")) | |
nfe_ISUF = fields.Char( | |
string="Inscrição na SUFRAMA", | |
help=("Inscrição na SUFRAMA (Obrigatório nas operações com as áreas" | |
"com benefícios de incentivos fiscais sob" | |
"controle da SUFRAMA) PL_005d - 11/08/09 -" | |
"alterado para aceitar 8 ou 9 dígitos")) | |
nfe_IM = fields.Char( | |
string="Inscrição Municipal do tomador do serviço") | |
nfe_email = fields.Char( | |
string="Informar o e-mail do destinatário", | |
help=("Informar o e-mail do destinatário. O campo pode ser utilizado" | |
"para informar o e-mail" | |
"de recepção da NF-e indicada pelo destinatário")) | |
class detExport(spec_models.AbstractSpecMixin): | |
"Detalhe da exportação" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.detexport' | |
_generateds_type = 'detExportType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_nDraw' | |
nfe_detExport_prod_id = fields.Many2one( | |
"nfe.v4_00.prod") | |
nfe_nDraw = fields.Char( | |
string="Número do ato concessório de Drawback") | |
nfe_exportInd = fields.Many2one( | |
"nfe.v4_00.exportind", | |
string="Exportação indireta") | |
class detPag(spec_models.AbstractSpecMixin): | |
"Grupo de detalhamento da forma de pagamento." | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.detpag' | |
_generateds_type = 'detPagType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_indPag' | |
nfe_detPag_pag_id = fields.Many2one( | |
"nfe.v4_00.pag") | |
nfe_indPag = fields.Selection( | |
indPagType, | |
string="Indicador da Forma de Pagamento:0", | |
help=("Indicador da Forma de Pagamento" | |
"0-Pagamento à Vista" | |
"1-Pagamento à Prazo")) | |
nfe_tPag = fields.Selection( | |
tPagType, | |
string="Forma de Pagamento:01", xsd_required=True, | |
help=("Forma de Pagamento:01-Dinheiro;02-Cheque;03-Cartão de" | |
"Crédito;04-Cartão de Débito;05-Crédito" | |
"Loja;10-Vale Alimentação;11-Vale" | |
"Refeição;12-Vale Presente;13-Vale Combustível;14" | |
"- Duplicata Mercantil;15 - Boleto Bancario;90 -" | |
"Sem Pagamento;99 - Outros")) | |
nfe_vPag = fields.Monetary( | |
digits=2, string="Valor do Pagamento", xsd_required=True, | |
help=("Valor do Pagamento. Esta tag poderá ser omitida quando a tag" | |
"tPag=90 (Sem Pagamento), caso contrário deverá" | |
"ser preenchida.")) | |
nfe_card = fields.Many2one( | |
"nfe.v4_00.card", | |
string="Grupo de Cartões") | |
class det(spec_models.AbstractSpecMixin): | |
"Dados dos detalhes da NF-e" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.det' | |
_generateds_type = 'detType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_nItem' | |
nfe_det_infNFe_id = fields.Many2one( | |
"nfe.v4_00.infnfe") | |
nfe_nItem = fields.Char( | |
string="nItem", xsd_required=True) | |
nfe_prod = fields.Many2one( | |
"nfe.v4_00.prod", | |
string="Dados dos produtos e serviços da NF", | |
xsd_required=True, | |
help="Dados dos produtos e serviços da NF-e") | |
nfe_imposto = fields.Many2one( | |
"nfe.v4_00.imposto", | |
string="Tributos incidentes nos produtos ou serviços da NF", | |
xsd_required=True, | |
help="Tributos incidentes nos produtos ou serviços da NF-e") | |
nfe_impostoDevol = fields.Many2one( | |
"nfe.v4_00.impostodevol", | |
string="impostoDevol") | |
nfe_infAdProd = fields.Char( | |
string="Informações adicionais do produto", | |
help=("Informações adicionais do produto (norma referenciada," | |
"informações complementares, etc)")) | |
class dup(spec_models.AbstractSpecMixin): | |
"Dados das duplicatas NT 2011/004" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.dup' | |
_generateds_type = 'dupType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_nDup' | |
nfe_dup_cobr_id = fields.Many2one( | |
"nfe.v4_00.cobr") | |
nfe_nDup = fields.Char( | |
string="Número da duplicata") | |
nfe_dVenc = fields.Char( | |
string="Data de vencimento da duplicata", | |
help="Data de vencimento da duplicata (AAAA-MM-DD)") | |
nfe_vDup = fields.Monetary( | |
digits=2, string="Valor da duplicata", xsd_required=True) | |
class emit(spec_models.AbstractSpecMixin): | |
"Identificação do emitente" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.emit' | |
_generateds_type = 'emitType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_CNPJ' | |
nfe_choice6 = fields.Selection([ | |
('nfe_CNPJ', 'CNPJ'), | |
('nfe_CPF', 'CPF')], | |
"CNPJ/CPF", | |
default="nfe_CNPJ") | |
nfe_CNPJ = fields.Char( | |
choice='6', | |
string="Número do CNPJ do emitente", | |
xsd_required=True) | |
nfe_CPF = fields.Char( | |
choice='6', | |
string="Número do CPF do emitente", | |
xsd_required=True) | |
nfe_xNome = fields.Char( | |
string="Razão Social ou Nome do emitente", | |
xsd_required=True) | |
nfe_xFant = fields.Char( | |
string="Nome fantasia") | |
nfe_enderEmit = fields.Many2one( | |
"nfe.v4_00.tenderemi", | |
string="Endereço do emitente", | |
xsd_required=True) | |
nfe_IE = fields.Char( | |
string="Inscrição Estadual do Emitente", | |
xsd_required=True) | |
nfe_IEST = fields.Char( | |
string="Inscricao Estadual do Substituto Tributário") | |
nfe_IM = fields.Char( | |
string="Inscrição Municipal") | |
nfe_CNAE = fields.Char( | |
string="CNAE Fiscal") | |
nfe_CRT = fields.Selection( | |
CRTType, | |
string="Código de Regime Tributário.", | |
xsd_required=True, | |
help=("Código de Regime Tributário." | |
"Este campo será obrigatoriamente preenchido com:")) | |
class encerrante(spec_models.AbstractSpecMixin): | |
"""Informações do grupo de "encerrante" """ | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.encerrante' | |
_generateds_type = 'encerranteType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_nBico' | |
nfe_nBico = fields.Char( | |
string="Numero de identificação do Bico utilizado no abastecimento", | |
xsd_required=True) | |
nfe_nBomba = fields.Char( | |
string="nBomba", | |
help=("Numero de identificação da bomba ao qual o bico está" | |
"interligado")) | |
nfe_nTanque = fields.Char( | |
string="nTanque", xsd_required=True, | |
help=("Numero de identificação do tanque ao qual o bico está" | |
"interligado")) | |
nfe_vEncIni = fields.Monetary( | |
digits=3, string="Valor do Encerrante no ínicio do abastecimento", | |
xsd_required=True) | |
nfe_vEncFin = fields.Monetary( | |
digits=3, string="Valor do Encerrante no final do abastecimento", | |
xsd_required=True) | |
class exportInd(spec_models.AbstractSpecMixin): | |
"Exportação indireta" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.exportind' | |
_generateds_type = 'exportIndType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_nRE' | |
nfe_nRE = fields.Char( | |
string="Registro de exportação", xsd_required=True) | |
nfe_chNFe = fields.Char( | |
string="Chave de acesso da NF", xsd_required=True, | |
help="Chave de acesso da NF-e recebida para exportação") | |
nfe_qExport = fields.Monetary( | |
digits=4, string="Quantidade do item efetivamente exportado", | |
xsd_required=True) | |
class exporta(spec_models.AbstractSpecMixin): | |
"Informações de exportação" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.exporta' | |
_generateds_type = 'exportaType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_UFSaidaPais' | |
nfe_UFSaidaPais = fields.Selection( | |
TUfEmi, | |
string="Sigla da UF de Embarque ou de transposição de fronteira", | |
xsd_required=True) | |
nfe_xLocExporta = fields.Char( | |
string="Local de Embarque ou de transposição de fronteira", | |
xsd_required=True) | |
nfe_xLocDespacho = fields.Char( | |
string="Descrição do local de despacho") | |
class fat(spec_models.AbstractSpecMixin): | |
"Dados da fatura" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.fat' | |
_generateds_type = 'fatType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_nFat' | |
nfe_nFat = fields.Char( | |
string="Número da fatura") | |
nfe_vOrig = fields.Monetary( | |
digits=2, string="Valor original da fatura") | |
nfe_vDesc = fields.Monetary( | |
digits=2, string="Valor do desconto da fatura") | |
nfe_vLiq = fields.Monetary( | |
digits=2, string="Valor líquido da fatura") | |
class forDia(spec_models.AbstractSpecMixin): | |
"Fornecimentos diários" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.fordia' | |
_generateds_type = 'forDiaType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_dia' | |
nfe_forDia_cana_id = fields.Many2one( | |
"nfe.v4_00.cana") | |
nfe_dia = fields.Char( | |
string="dia", xsd_required=True) | |
nfe_qtde = fields.Monetary( | |
digits=0, string="Quantidade em quilogramas", | |
xsd_required=True, | |
help="Quantidade em quilogramas - peso líquido") | |
class ide(spec_models.AbstractSpecMixin): | |
"identificação da NF-e" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.ide' | |
_generateds_type = 'ideType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_cUF' | |
nfe_cUF = fields.Selection( | |
TCodUfIBGE, | |
string="Código da UF do emitente do Documento Fiscal", | |
xsd_required=True, | |
help=("Código da UF do emitente do Documento Fiscal. Utilizar a" | |
"Tabela do IBGE.")) | |
nfe_cNF = fields.Char( | |
string="Código numérico que compõe a Chave de Acesso", | |
xsd_required=True, | |
help=("Código numérico que compõe a Chave de Acesso. Número aleatório" | |
"gerado pelo emitente para cada NF-e.")) | |
nfe_natOp = fields.Char( | |
string="Descrição da Natureza da Operação", | |
xsd_required=True) | |
nfe_mod = fields.Selection( | |
TMod, | |
string="Código do modelo do Documento Fiscal", | |
xsd_required=True, | |
help="Código do modelo do Documento Fiscal. 55 = NF-e; 65 = NFC-e.") | |
nfe_serie = fields.Char( | |
string="Série do Documento Fiscal", | |
xsd_required=True, | |
help=("Série do Documento Fiscal" | |
"série normal 0-889" | |
"Avulsa Fisco 890-899" | |
"SCAN 900-999")) | |
nfe_nNF = fields.Char( | |
string="Número do Documento Fiscal", | |
xsd_required=True) | |
nfe_dhEmi = fields.Char( | |
string="Data e Hora de emissão do Documento Fiscal", | |
xsd_required=True, | |
help=("Data e Hora de emissão do Documento Fiscal (AAAA-MM-" | |
"DDThh:mm:ssTZD) ex.: 2012-09-01T13:00:00-03:00")) | |
nfe_dhSaiEnt = fields.Char( | |
string="Data e Hora da saída ou de entrada da mercadoria / produto", | |
help=("Data e Hora da saída ou de entrada da mercadoria / produto" | |
"(AAAA-MM-DDTHH:mm:ssTZD)")) | |
nfe_tpNF = fields.Selection( | |
tpNFType, | |
string="Tipo do Documento Fiscal", | |
xsd_required=True, | |
help="Tipo do Documento Fiscal (0 - entrada; 1 - saída)") | |
nfe_idDest = fields.Selection( | |
idDestType, | |
string="Identificador de Local de destino da operação", | |
xsd_required=True, | |
help=("Identificador de Local de destino da operação" | |
"(1-Interna;2-Interestadual;3-Exterior)")) | |
nfe_cMunFG = fields.Char( | |
string="Código do Município de Ocorrência do Fato Gerador", | |
xsd_required=True, | |
help=("Código do Município de Ocorrência do Fato Gerador (utilizar a" | |
"tabela do IBGE)")) | |
nfe_tpImp = fields.Selection( | |
tpImpType, | |
string="Formato de impressão do DANFE", | |
xsd_required=True, | |
help=("Formato de impressão do DANFE (0-sem DANFE;1-DANFe Retrato;" | |
"2-DANFe Paisagem;3-DANFe Simplificado;" | |
"4-DANFe NFC-e;5-DANFe NFC-e em mensagem eletrônica)")) | |
nfe_tpEmis = fields.Selection( | |
tpEmisType, | |
string="Forma de emissão da NF-e", | |
xsd_required=True, | |
help=("Forma de emissão da NF-e" | |
"1 - Normal;" | |
"2 - Contingência FS" | |
"3 - Contingência SCAN" | |
"4 - Contingência DPEC" | |
"5 - Contingência FSDA" | |
"6 - Contingência SVC - AN" | |
"7 - Contingência SVC - RS" | |
"9 - Contingência off-line NFC-e")) | |
nfe_cDV = fields.Char( | |
string="Digito Verificador da Chave de Acesso da NF", | |
xsd_required=True, | |
help="Digito Verificador da Chave de Acesso da NF-e") | |
nfe_tpAmb = fields.Selection( | |
TAmb, | |
string="Identificação do Ambiente", | |
xsd_required=True, | |
help=("Identificação do Ambiente:" | |
"1 - Produção" | |
"2 - Homologação")) | |
nfe_finNFe = fields.Selection( | |
TFinNFe, | |
string="Finalidade da emissão da NF-e", | |
xsd_required=True, | |
help=("Tipo Finalidade da NF-e (1=Normal; 2=Complementar; 3=Ajuste;" | |
"4=Devolução/Retorno)")) | |
nfe_indFinal = fields.Selection( | |
indFinalType, | |
string="Indica operação com consumidor final", | |
xsd_required=True, | |
help=("Indica operação com consumidor final (0-Não;1-Consumidor" | |
"Final)")) | |
nfe_indPres = fields.Selection( | |
indPresType, | |
string="indPres", xsd_required=True, | |
help=("Indicador de presença do comprador no estabelecimento" | |
"comercial no momento da oepração" | |
"(0-Não se aplica (ex." | |
"Nota Fiscal complementar ou de ajuste" | |
"1-Operação presencial" | |
"2-Não presencial, internet" | |
"3-Não presencial, teleatendimento" | |
"4-NFC-e entrega em domicílio" | |
"5-Operação presencial, fora do estabelecimento" | |
"9-Não presencial, outros)")) | |
nfe_procEmi = fields.Selection( | |
TProcEmi, | |
string="Processo de emissão utilizado com a seguinte codificação", | |
xsd_required=True, | |
help=("Processo de emissão utilizado com a seguinte codificação:" | |
"0 - emissão de NF-e com aplicativo do contribuinte;" | |
"1 - emissão de NF-e avulsa pelo Fisco;" | |
"2 - emissão de NF-e avulsa, pelo contribuinte com seu" | |
"certificado digital, através do site" | |
"do Fisco;" | |
"3- emissão de NF-e pelo contribuinte com aplicativo fornecido" | |
"pelo Fisco.")) | |
nfe_verProc = fields.Char( | |
string="versão do aplicativo utilizado no processo de", | |
xsd_required=True, | |
help=("versão do aplicativo utilizado no processo de" | |
"emissão")) | |
nfe_dhCont = fields.Char( | |
string="dhCont", | |
help=("Informar a data e hora de entrada em contingência contingência" | |
"no formato (AAAA-MM-DDThh:mm:ssTZD) ex.:" | |
"2012-09-01T13:00:00-03:00.")) | |
nfe_xJust = fields.Char( | |
string="Informar a Justificativa da entrada") | |
nfe_NFref = fields.One2many( | |
"nfe.v4_00.nfref", | |
"nfe_NFref_ide_id", | |
string="Grupo de infromações da NF referenciada" | |
) | |
class impostoDevol(spec_models.AbstractSpecMixin): | |
_description = 'impostodevol' | |
_name = 'nfe.v4_00.impostodevol' | |
_generateds_type = 'impostoDevolType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_pDevol' | |
nfe_pDevol = fields.Monetary( | |
digits=2, string="Percentual de mercadoria devolvida", | |
xsd_required=True) | |
nfe_IPI = fields.Many2one( | |
"nfe.v4_00.ipi", | |
string="Informação de IPI devolvido", | |
xsd_required=True) | |
class imposto(spec_models.AbstractSpecMixin): | |
"Tributos incidentes nos produtos ou serviços da NF-e" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.imposto' | |
_generateds_type = 'impostoType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_vTotTrib' | |
nfe_choice10 = fields.Selection([ | |
('nfe_ICMS', 'ICMS'), | |
('nfe_II', 'II'), | |
('nfe_IPI', 'IPI'), | |
('nfe_ISSQN', 'ISSQN')], | |
"ICMS/II/IPI/ISSQN", | |
default="nfe_ICMS") | |
nfe_vTotTrib = fields.Monetary( | |
digits=2, string="Valor estimado total de impostos federais", | |
help=("Valor estimado total de impostos federais, estaduais e" | |
"municipais")) | |
nfe_ICMS = fields.Many2one( | |
"nfe.v4_00.icms", | |
choice='10', | |
string="Dados do ICMS Normal e ST", | |
xsd_required=True) | |
nfe_II = fields.Many2one( | |
"nfe.v4_00.ii", | |
choice='10', | |
string="Dados do Imposto de Importação") | |
nfe_IPI = fields.Many2one( | |
"nfe.v4_00.tipi", | |
choice='10', | |
string="IPI") | |
nfe_ISSQN = fields.Many2one( | |
"nfe.v4_00.issqn", | |
choice='10', | |
string="ISSQN", xsd_required=True) | |
nfe_PIS = fields.Many2one( | |
"nfe.v4_00.pis", | |
string="Dados do PIS") | |
nfe_PISST = fields.Many2one( | |
"nfe.v4_00.pisst", | |
string="Dados do PIS Substituição Tributária") | |
nfe_COFINS = fields.Many2one( | |
"nfe.v4_00.cofins", | |
string="Dados do COFINS") | |
nfe_COFINSST = fields.Many2one( | |
"nfe.v4_00.cofinsst", | |
string="Dados do COFINS da", | |
help=("Dados do COFINS da" | |
"Substituição Tributaria;")) | |
nfe_ICMSUFDest = fields.Many2one( | |
"nfe.v4_00.icmsufdest", | |
string="ICMSUFDest", | |
help=("Grupo a ser informado nas vendas interestarduais para" | |
"consumidor final, não contribuinte de ICMS")) | |
class infAdic(spec_models.AbstractSpecMixin): | |
"Informações adicionais da NF-e" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.infadic' | |
_generateds_type = 'infAdicType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_infAdFisco' | |
nfe_infAdFisco = fields.Char( | |
string="Informações adicionais de interesse do Fisco", | |
help="Informações adicionais de interesse do Fisco (v2.0)") | |
nfe_infCpl = fields.Char( | |
string="Informações complementares de interesse do Contribuinte") | |
nfe_obsCont = fields.One2many( | |
"nfe.v4_00.obscont", | |
"nfe_obsCont_infAdic_id", | |
string="Campo de uso livre do contribuinte", | |
help=("Campo de uso livre do contribuinte" | |
"informar o nome do campo no atributo xCampo" | |
"e o conteúdo do campo no xTexto") | |
) | |
nfe_obsFisco = fields.One2many( | |
"nfe.v4_00.obsfisco", | |
"nfe_obsFisco_infAdic_id", | |
string="Campo de uso exclusivo do Fisco", | |
help=("Campo de uso exclusivo do Fisco" | |
"informar o nome do campo no atributo xCampo" | |
"e o conteúdo do campo no xTexto") | |
) | |
nfe_procRef = fields.One2many( | |
"nfe.v4_00.procref", | |
"nfe_procRef_infAdic_id", | |
string="Grupo de informações do processo referenciado", | |
help="Grupo de informações do processo referenciado" | |
) | |
class infNFeSupl(spec_models.AbstractSpecMixin): | |
"Informações suplementares Nota Fiscal" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.infnfesupl' | |
_generateds_type = 'infNFeSuplType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_qrCode' | |
nfe_qrCode = fields.Char( | |
string="Texto com o QR", xsd_required=True, | |
help="Texto com o QR-Code impresso no DANFE NFC-e") | |
nfe_urlChave = fields.Char( | |
string="Informar a URL da 'Consulta por chave de acesso da NFC", | |
xsd_required=True, | |
help=("Informar a URL da 'Consulta por chave de acesso da NFC-e'. A" | |
"mesma URL que deve estar informada no DANFE" | |
"NFC-e para consulta por chave de acesso.")) | |
class infNFe(spec_models.AbstractSpecMixin): | |
"Informações da Nota Fiscal eletrônica" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.infnfe' | |
_generateds_type = 'infNFeType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_versao' | |
nfe_versao = fields.Char( | |
string="versao", xsd_required=True) | |
nfe_Id = fields.Char( | |
string="Id", xsd_required=True) | |
nfe_ide = fields.Many2one( | |
"nfe.v4_00.ide", | |
string="identificação da NF-e", xsd_required=True) | |
nfe_emit = fields.Many2one( | |
"nfe.v4_00.emit", | |
string="Identificação do emitente", | |
xsd_required=True) | |
nfe_avulsa = fields.Many2one( | |
"nfe.v4_00.avulsa", | |
string="Emissão de avulsa", | |
help="Emissão de avulsa, informar os dados do Fisco emitente") | |
nfe_dest = fields.Many2one( | |
"nfe.v4_00.dest", | |
string="Identificação do Destinatário") | |
nfe_retirada = fields.Many2one( | |
"nfe.v4_00.tlocal", | |
string="Identificação do Local de Retirada", | |
help=("Identificação do Local de Retirada (informar apenas quando for" | |
"diferente do endereço do remetente)")) | |
nfe_entrega = fields.Many2one( | |
"nfe.v4_00.tlocal", | |
string="Identificação do Local de Entrega", | |
help=("Identificação do Local de Entrega (informar apenas quando for" | |
"diferente do endereço do destinatário)")) | |
nfe_autXML = fields.One2many( | |
"nfe.v4_00.autxml", | |
"nfe_autXML_infNFe_id", | |
string="Pessoas autorizadas para o download do XML da NF", | |
help="Pessoas autorizadas para o download do XML da NF-e" | |
) | |
nfe_det = fields.One2many( | |
"nfe.v4_00.det", | |
"nfe_det_infNFe_id", | |
string="Dados dos detalhes da NF-e", | |
xsd_required=True | |
) | |
nfe_total = fields.Many2one( | |
"nfe.v4_00.total", | |
string="Dados dos totais da NF-e", | |
xsd_required=True) | |
nfe_transp = fields.Many2one( | |
"nfe.v4_00.transp", | |
string="Dados dos transportes da NF-e", | |
xsd_required=True) | |
nfe_cobr = fields.Many2one( | |
"nfe.v4_00.cobr", | |
string="Dados da cobrança da NF-e") | |
nfe_pag = fields.Many2one( | |
"nfe.v4_00.pag", | |
string="Dados de Pagamento", xsd_required=True, | |
help=("Dados de Pagamento. Obrigatório apenas para (NFC-e) NT" | |
"2012/004")) | |
nfe_infAdic = fields.Many2one( | |
"nfe.v4_00.infadic", | |
string="Informações adicionais da NF-e") | |
nfe_exporta = fields.Many2one( | |
"nfe.v4_00.exporta", | |
string="Informações de exportação") | |
nfe_compra = fields.Many2one( | |
"nfe.v4_00.compra", | |
string="Informações de compras", | |
help="Informações de compras (Nota de Empenho, Pedido e Contrato)") | |
nfe_cana = fields.Many2one( | |
"nfe.v4_00.cana", | |
string="Informações de registro aquisições de cana") | |
class infProt(spec_models.AbstractSpecMixin): | |
"Dados do protocolo de status" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.infprot' | |
_generateds_type = 'infProtType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_Id' | |
nfe_Id = fields.Char( | |
string="Id") | |
nfe_tpAmb = fields.Selection( | |
TAmb, | |
string="Identificação do Ambiente", | |
xsd_required=True, | |
help=("Identificação do Ambiente:" | |
"1 - Produção" | |
"2 - Homologação")) | |
nfe_verAplic = fields.Char( | |
string="Versão do Aplicativo que processou a NF", | |
xsd_required=True, | |
help="Versão do Aplicativo que processou a NF-e") | |
nfe_chNFe = fields.Char( | |
string="Chaves de acesso da NF-e", | |
xsd_required=True, | |
help=("Chaves de acesso da NF-e, compostas por: UF do emitente, AAMM" | |
"da emissão da NFe, CNPJ do emitente, modelo," | |
"série e número da NF-e e código numérico+DV.")) | |
nfe_dhRecbto = fields.Char( | |
string="Data e hora de processamento", | |
xsd_required=True, | |
help=("Data e hora de processamento, no formato AAAA-MM-" | |
"DDTHH:MM:SSTZD. Deve ser preenchida com data e" | |
"hora da gravação no Banco em caso de" | |
"Confirmação. Em caso de Rejeição, com data e" | |
"hora do recebimento do Lote de NF-e enviado.")) | |
nfe_nProt = fields.Char( | |
string="Número do Protocolo de Status da NF", | |
help=("Número do Protocolo de Status da NF-e. 1 posição (1 –" | |
"Secretaria de Fazenda Estadual 2 – Receita" | |
"Federal); 2 - códiga da UF - 2 posições ano; 10" | |
"seqüencial no ano.")) | |
nfe_digVal = fields.Char( | |
string="Digest Value da NF-e processada", | |
help=("Digest Value da NF-e processada. Utilizado para conferir a" | |
"integridade da NF-e original.")) | |
nfe_cStat = fields.Char( | |
string="Código do status da mensagem enviada", | |
xsd_required=True) | |
nfe_xMotivo = fields.Char( | |
string="Descrição literal do status do serviço solicitado", | |
xsd_required=True) | |
class infRec(spec_models.AbstractSpecMixin): | |
"Dados do Recibo do Lote" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.infrec' | |
_generateds_type = 'infRecType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_nRec' | |
nfe_nRec = fields.Char( | |
string="Número do Recibo", xsd_required=True) | |
nfe_tMed = fields.Char( | |
string="Tempo médio de resposta do serviço", | |
xsd_required=True, | |
help=("Tempo médio de resposta do serviço (em segundos) dos últimos 5" | |
"minutos")) | |
class lacres(spec_models.AbstractSpecMixin): | |
_description = 'lacres' | |
_name = 'nfe.v4_00.lacres' | |
_generateds_type = 'lacresType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_nLacre' | |
nfe_lacres_vol_id = fields.Many2one( | |
"nfe.v4_00.vol") | |
nfe_nLacre = fields.Char( | |
string="Número dos Lacres", xsd_required=True) | |
class med(spec_models.AbstractSpecMixin): | |
"""grupo do detalhamento de Medicamentos e de matérias-primas | |
farmacêuticas""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.med' | |
_generateds_type = 'medType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_cProdANVISA' | |
nfe_cProdANVISA = fields.Char( | |
string="Utilizar o número do registro ANVISA", | |
xsd_required=True, | |
help=("Utilizar o número do registro ANVISA" | |
"Obs.: Para medicamento isento de registro na ANVISA, utilizar" | |
"o número da decisão que o isenta, como por" | |
"exemplo o número da Resolução da Diretoria" | |
"Colegiada da ANVISA (RDC).")) | |
nfe_vPMC = fields.Monetary( | |
digits=2, string="Preço Máximo ao Consumidor.", | |
xsd_required=True) | |
class obsCont(spec_models.AbstractSpecMixin): | |
"""Campo de uso livre do contribuinte | |
informar o nome do campo no atributo xCampo | |
e o conteúdo do campo no xTexto""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.obscont' | |
_generateds_type = 'obsContType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_xCampo' | |
nfe_obsCont_infAdic_id = fields.Many2one( | |
"nfe.v4_00.infadic") | |
nfe_xCampo = fields.Char( | |
string="xCampo", xsd_required=True) | |
nfe_xTexto = fields.Char( | |
string="xTexto", xsd_required=True) | |
class obsFisco(spec_models.AbstractSpecMixin): | |
"""Campo de uso exclusivo do Fisco | |
informar o nome do campo no atributo xCampo | |
e o conteúdo do campo no xTexto""" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.obsfisco' | |
_generateds_type = 'obsFiscoType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_xCampo' | |
nfe_obsFisco_infAdic_id = fields.Many2one( | |
"nfe.v4_00.infadic") | |
nfe_xCampo = fields.Char( | |
string="xCampo", xsd_required=True) | |
nfe_xTexto = fields.Char( | |
string="xTexto", xsd_required=True) | |
class pag(spec_models.AbstractSpecMixin): | |
"Dados de Pagamento. Obrigatório apenas para (NFC-e) NT 2012/004" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.pag' | |
_generateds_type = 'pagType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_detPag' | |
nfe_detPag = fields.One2many( | |
"nfe.v4_00.detpag", | |
"nfe_detPag_pag_id", | |
string="Grupo de detalhamento da forma de pagamento", | |
xsd_required=True | |
) | |
nfe_vTroco = fields.Monetary( | |
digits=2, string="Valor do Troco.") | |
class procRef(spec_models.AbstractSpecMixin): | |
"Grupo de informações do processo referenciado" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.procref' | |
_generateds_type = 'procRefType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_nProc' | |
nfe_procRef_infAdic_id = fields.Many2one( | |
"nfe.v4_00.infadic") | |
nfe_nProc = fields.Char( | |
string="Indentificador do processo ou ato", | |
xsd_required=True, | |
help=("Indentificador do processo ou ato" | |
"concessório")) | |
nfe_indProc = fields.Selection( | |
indProcType, | |
string="Origem do processo, informar com", | |
xsd_required=True, | |
help=("Origem do processo, informar com:" | |
"0 - SEFAZ;" | |
"1 - Justiça Federal;" | |
"2 - Justiça Estadual;" | |
"3 - Secex/RFB;" | |
"9 - Outros")) | |
class prod(spec_models.AbstractSpecMixin): | |
"Dados dos produtos e serviços da NF-e" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.prod' | |
_generateds_type = 'prodType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_cProd' | |
nfe_choice9 = fields.Selection([ | |
('nfe_veicProd', 'veicProd'), | |
('nfe_med', 'med'), | |
('nfe_arma', 'arma'), | |
('nfe_comb', 'comb'), | |
('nfe_nRECOPI', 'nRECOPI')], | |
"veicProd/med/arma/comb/nRECOPI", | |
default="nfe_veicProd") | |
nfe_cProd = fields.Char( | |
string="Código do produto ou serviço", | |
xsd_required=True, | |
help=("Código do produto ou serviço. Preencher com CFOP caso se trate" | |
"de itens não relacionados com" | |
"mercadorias/produto e que o contribuinte não" | |
"possua codificação própria" | |
"Formato ”CFOP9999”.")) | |
nfe_cEAN = fields.Char( | |
string="GTIN", xsd_required=True, | |
help=("GTIN (Global Trade Item Number) do produto, antigo código EAN" | |
"ou código de barras")) | |
nfe_xProd = fields.Char( | |
string="Descrição do produto ou serviço", | |
xsd_required=True) | |
nfe_NCM = fields.Char( | |
string="Código NCM (8 posições)", xsd_required=True, | |
help=("Código NCM (8 posições), será permitida a informação do gênero" | |
"(posição do capítulo do NCM) quando a operação" | |
"não for de comércio exterior" | |
"(importação/exportação) ou o produto não seja" | |
"tributado pelo IPI. Em caso de item de serviço" | |
"ou item que não tenham produto (Ex." | |
"transferência de crédito, crédito do ativo" | |
"imobilizado, etc.), informar o código 00 (zeros)" | |
"(v2.0)")) | |
nfe_NVE = fields.Char( | |
string="Nomenclatura de Valor aduaneio e Estatístico") | |
nfe_CEST = fields.Char( | |
string="Codigo especificador da Substuicao Tributaria", | |
xsd_required=True, | |
help=("Codigo especificador da Substuicao Tributaria - CEST, que" | |
"identifica a mercadoria sujeita aos regimes de" | |
"substituicao tributária e de antecipação do" | |
"recolhimento do imposto")) | |
nfe_indEscala = fields.Selection( | |
indEscalaType, | |
string="indEscala") | |
nfe_CNPJFab = fields.Char( | |
string="CNPJ do Fabricante da Mercadoria", | |
help=("CNPJ do Fabricante da Mercadoria, obrigatório para produto em" | |
"escala NÃO relevante.")) | |
nfe_cBenef = fields.Char( | |
string="cBenef") | |
nfe_EXTIPI = fields.Char( | |
string="Código EX TIPI (3 posições)") | |
nfe_CFOP = fields.Char( | |
string="Cfop", xsd_required=True) | |
nfe_uCom = fields.Char( | |
string="Unidade comercial", xsd_required=True) | |
nfe_qCom = fields.Monetary( | |
digits=4, string="Quantidade Comercial do produto", | |
xsd_required=True, | |
help=("Quantidade Comercial do produto, alterado para aceitar de 0 a" | |
"4 casas decimais e 11 inteiros.")) | |
nfe_vUnCom = fields.Monetary( | |
digits=0, string="Valor unitário de comercialização", | |
xsd_required=True, | |
help=("Valor unitário de comercialização - alterado para aceitar 0 a" | |
"10 casas decimais e 11 inteiros")) | |
nfe_vProd = fields.Monetary( | |
digits=2, string="Valor bruto do produto ou serviço.", | |
xsd_required=True) | |
nfe_cEANTrib = fields.Char( | |
string="GTIN", xsd_required=True, | |
help=("GTIN (Global Trade Item Number) da unidade tributável, antigo" | |
"código EAN ou código de barras")) | |
nfe_uTrib = fields.Char( | |
string="Unidade Tributável", xsd_required=True) | |
nfe_qTrib = fields.Monetary( | |
digits=4, string="Quantidade Tributável", xsd_required=True, | |
help=("Quantidade Tributável - alterado para aceitar de 0 a 4 casas" | |
"decimais e 11 inteiros")) | |
nfe_vUnTrib = fields.Monetary( | |
digits=0, string="Valor unitário de tributação", | |
xsd_required=True, | |
help=("Valor unitário de tributação - - alterado para aceitar 0 a 10" | |
"casas decimais e 11 inteiros")) | |
nfe_vFrete = fields.Monetary( | |
digits=2, string="Valor Total do Frete") | |
nfe_vSeg = fields.Monetary( | |
digits=2, string="Valor Total do Seguro") | |
nfe_vDesc = fields.Monetary( | |
digits=2, string="Valor do Desconto") | |
nfe_vOutro = fields.Monetary( | |
digits=2, string="Outras despesas acessórias") | |
nfe_indTot = fields.Selection( | |
indTotType, | |
string="Este campo deverá ser preenchido com", | |
xsd_required=True, | |
help=("Este campo deverá ser preenchido com:" | |
"0 – o valor do item (vProd) não compõe o valor total da NF-e" | |
"(vProd)" | |
"1 – o valor do item (vProd) compõe o valor total da NF-e" | |
"(vProd)")) | |
nfe_DI = fields.One2many( | |
"nfe.v4_00.di", | |
"nfe_DI_prod_id", | |
string="Delcaração de Importação", | |
help=("Delcaração de Importação" | |
"(NT 2011/004)") | |
) | |
nfe_detExport = fields.One2many( | |
"nfe.v4_00.detexport", | |
"nfe_detExport_prod_id", | |
string="Detalhe da exportação" | |
) | |
nfe_xPed = fields.Char( | |
string="pedido de compra", | |
help=("pedido de compra - Informação de interesse do emissor para" | |
"controle do B2B.")) | |
nfe_nItemPed = fields.Char( | |
string="Número do Item do Pedido de Compra", | |
help=("Número do Item do Pedido de Compra - Identificação do número" | |
"do item do pedido de Compra")) | |
nfe_nFCI = fields.Char( | |
string="Número de controle da FCI", | |
help="Número de controle da FCI - Ficha de Conteúdo de Importação.") | |
nfe_rastro = fields.One2many( | |
"nfe.v4_00.rastro", | |
"nfe_rastro_prod_id", | |
string="rastro" | |
) | |
nfe_veicProd = fields.Many2one( | |
"nfe.v4_00.veicprod", | |
choice='9', | |
string="Veículos novos") | |
nfe_med = fields.Many2one( | |
"nfe.v4_00.med", | |
choice='9', | |
string="grupo do detalhamento de Medicamentos e de matérias", | |
help=("grupo do detalhamento de Medicamentos e de matérias-primas" | |
"farmacêuticas")) | |
nfe_arma = fields.One2many( | |
"nfe.v4_00.arma", | |
"nfe_arma_prod_id", | |
choice='9', | |
string="Armamentos" | |
) | |
nfe_comb = fields.Many2one( | |
"nfe.v4_00.comb", | |
choice='9', | |
string="Informar apenas para operações com combustíveis líquidos") | |
nfe_nRECOPI = fields.Char( | |
choice='9', | |
string="Número do RECOPI") | |
class rastro(spec_models.AbstractSpecMixin): | |
_description = 'rastro' | |
_name = 'nfe.v4_00.rastro' | |
_generateds_type = 'rastroType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_nLote' | |
nfe_rastro_prod_id = fields.Many2one( | |
"nfe.v4_00.prod") | |
nfe_nLote = fields.Char( | |
string="Número do lote do produto.", | |
xsd_required=True) | |
nfe_qLote = fields.Monetary( | |
digits=3, string="Quantidade de produto no lote.", | |
xsd_required=True) | |
nfe_dFab = fields.Char( | |
string="Data de fabricação/produção", | |
xsd_required=True, | |
help="Data de fabricação/produção. Formato 'AAAA-MM-DD'.") | |
nfe_dVal = fields.Char( | |
string="Data de validade", xsd_required=True, | |
help=("Data de validade. Informar o último dia do mês caso a validade" | |
"não especifique o dia. Formato 'AAAA-MM-DD'.")) | |
nfe_cAgreg = fields.Char( | |
string="cAgreg") | |
class refECF(spec_models.AbstractSpecMixin): | |
"Grupo do Cupom Fiscal vinculado à NF-e" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.refecf' | |
_generateds_type = 'refECFType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_mod' | |
nfe_mod = fields.Selection( | |
modType3, | |
string="Código do modelo do Documento Fiscal", | |
xsd_required=True, | |
help=("Código do modelo do Documento Fiscal" | |
"Preencher com '2B', quando se tratar de Cupom Fiscal emitido" | |
"por máquina registradora (não ECF), com '2C'," | |
"quando se tratar de Cupom Fiscal PDV, ou '2D'," | |
"quando se tratar de Cupom Fiscal (emitido por" | |
"ECF)")) | |
nfe_nECF = fields.Char( | |
string="nECF", xsd_required=True, | |
help=("Informar o número de ordem seqüencial do ECF que emitiu o" | |
"Cupom Fiscal vinculado à NF-e")) | |
nfe_nCOO = fields.Char( | |
string="Informar o Número do Contador de Ordem de Operação", | |
xsd_required=True, | |
help=("Informar o Número do Contador de Ordem de Operação - COO" | |
"vinculado à NF-e")) | |
class refNFP(spec_models.AbstractSpecMixin): | |
"Grupo com as informações NF de produtor referenciada" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.refnfp' | |
_generateds_type = 'refNFPType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_cUF' | |
nfe_choice5 = fields.Selection([ | |
('nfe_CNPJ', 'CNPJ'), | |
('nfe_CPF', 'CPF')], | |
"CNPJ/CPF", | |
default="nfe_CNPJ") | |
nfe_cUF = fields.Selection( | |
TCodUfIBGE, | |
string="cUF", xsd_required=True, | |
help=("Código da UF do emitente do Documento FiscalUtilizar a Tabela" | |
"do IBGE (Anexo IV - Tabela de UF, Município e" | |
"País)")) | |
nfe_AAMM = fields.Char( | |
string="AAMM da emissão da NF de produtor", | |
xsd_required=True) | |
nfe_CNPJ = fields.Char( | |
choice='5', | |
string="CNPJ do emitente da NF de produtor", | |
xsd_required=True) | |
nfe_CPF = fields.Char( | |
choice='5', | |
string="CPF do emitente da NF de produtor", | |
xsd_required=True) | |
nfe_IE = fields.Char( | |
string="IE do emitente da NF de Produtor", | |
xsd_required=True) | |
nfe_mod = fields.Selection( | |
modType2, | |
string="Código do modelo do Documento Fiscal", | |
xsd_required=True, | |
help=("Código do modelo do Documento Fiscal - utilizar 04 para NF de" | |
"produtor ou 01 para NF Avulsa")) | |
nfe_serie = fields.Char( | |
string="Série do Documento Fiscal", | |
xsd_required=True, | |
help="Série do Documento Fiscal, informar zero se inexistentesérie") | |
nfe_nNF = fields.Char( | |
string="Número do Documento Fiscal", | |
xsd_required=True, | |
help="Número do Documento Fiscal - 1 – 999999999") | |
class refNF(spec_models.AbstractSpecMixin): | |
"Dados da NF modelo 1/1A referenciada ou NF modelo 2 referenciada" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.refnf' | |
_generateds_type = 'refNFType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_cUF' | |
nfe_cUF = fields.Selection( | |
TCodUfIBGE, | |
string="Código da UF do emitente do Documento Fiscal", | |
xsd_required=True, | |
help=("Código da UF do emitente do Documento Fiscal. Utilizar a" | |
"Tabela do IBGE.")) | |
nfe_AAMM = fields.Char( | |
string="AAMM da emissão", xsd_required=True) | |
nfe_CNPJ = fields.Char( | |
string="CNPJ do emitente do documento fiscal referenciado", | |
xsd_required=True) | |
nfe_mod = fields.Selection( | |
modType, | |
string="Código do modelo do Documento Fiscal", | |
xsd_required=True, | |
help=("Código do modelo do Documento Fiscal. Utilizar 01 para NF" | |
"modelo 1/1A e 02 para NF modelo 02")) | |
nfe_serie = fields.Char( | |
string="Série do Documento Fiscal", | |
xsd_required=True, | |
help="Série do Documento Fiscal, informar zero se inexistente") | |
nfe_nNF = fields.Char( | |
string="Número do Documento Fiscal", | |
xsd_required=True) | |
class retTransp(spec_models.AbstractSpecMixin): | |
"Dados da retenção ICMS do Transporte" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.rettransp' | |
_generateds_type = 'retTranspType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_vServ' | |
nfe_vServ = fields.Monetary( | |
digits=2, string="Valor do Serviço", xsd_required=True) | |
nfe_vBCRet = fields.Monetary( | |
digits=2, string="BC da Retenção do ICMS", | |
xsd_required=True) | |
nfe_pICMSRet = fields.Monetary( | |
digits=2, string="Alíquota da Retenção", | |
xsd_required=True) | |
nfe_vICMSRet = fields.Monetary( | |
digits=2, string="Valor do ICMS Retido", | |
xsd_required=True) | |
nfe_CFOP = fields.Char( | |
string="Código Fiscal de Operações e Prestações", | |
xsd_required=True) | |
nfe_cMunFG = fields.Char( | |
string="Código do Município de Ocorrência do Fato Gerador", | |
xsd_required=True, | |
help=("Código do Município de Ocorrência do Fato Gerador (utilizar a" | |
"tabela do IBGE)")) | |
class retTrib(spec_models.AbstractSpecMixin): | |
"Retenção de Tributos Federais" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.rettrib' | |
_generateds_type = 'retTribType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_vRetPIS' | |
nfe_vRetPIS = fields.Monetary( | |
digits=2, string="Valor Retido de PIS") | |
nfe_vRetCOFINS = fields.Monetary( | |
digits=2, string="Valor Retido de COFINS") | |
nfe_vRetCSLL = fields.Monetary( | |
digits=2, string="Valor Retido de CSLL") | |
nfe_vBCIRRF = fields.Monetary( | |
digits=2, string="Base de Cálculo do IRRF") | |
nfe_vIRRF = fields.Monetary( | |
digits=2, string="Valor Retido de IRRF") | |
nfe_vBCRetPrev = fields.Monetary( | |
digits=2, string="Base de Cálculo da Retenção da Previdêncica Social") | |
nfe_vRetPrev = fields.Monetary( | |
digits=2, string="Valor da Retenção da Previdêncica Social") | |
class total(spec_models.AbstractSpecMixin): | |
"Dados dos totais da NF-e" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.total' | |
_generateds_type = 'totalType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_ICMSTot' | |
nfe_ICMSTot = fields.Many2one( | |
"nfe.v4_00.icmstot", | |
string="Totais referentes ao ICMS", | |
xsd_required=True) | |
nfe_ISSQNtot = fields.Many2one( | |
"nfe.v4_00.issqntot", | |
string="Totais referentes ao ISSQN") | |
nfe_retTrib = fields.Many2one( | |
"nfe.v4_00.rettrib", | |
string="Retenção de Tributos Federais") | |
class transp(spec_models.AbstractSpecMixin): | |
"Dados dos transportes da NF-e" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.transp' | |
_generateds_type = 'transpType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_modFrete' | |
nfe_choice18 = fields.Selection([ | |
('nfe_veicTransp', 'veicTransp'), | |
('nfe_reboque', 'reboque'), | |
('nfe_vagao', 'vagao'), | |
('nfe_balsa', 'balsa')], | |
"veicTransp/reboque/vagao/balsa", | |
default="nfe_veicTransp") | |
nfe_modFrete = fields.Selection( | |
modFreteType, | |
string="Modalidade do frete", | |
xsd_required=True, | |
help=("Modalidade do frete" | |
"0- Contratação do Frete por conta do Remetente (CIF);" | |
"1- Contratação do Frete por conta do destinatário/remetente" | |
"(FOB);" | |
"2- Contratação do Frete por conta de terceiros;" | |
"3- Transporte próprio por conta do remetente;" | |
"4- Transporte próprio por conta do destinatário;" | |
"9- Sem Ocorrência de transporte.")) | |
nfe_transporta = fields.Many2one( | |
"nfe.v4_00.transporta", | |
string="Dados do transportador") | |
nfe_retTransp = fields.Many2one( | |
"nfe.v4_00.rettransp", | |
string="Dados da retenção ICMS do Transporte", | |
help="Dados da retenção ICMS do Transporte") | |
nfe_veicTransp = fields.Many2one( | |
"nfe.v4_00.tveiculo", | |
choice='18', | |
string="Dados do veículo") | |
nfe_reboque = fields.One2many( | |
"nfe.v4_00.tveiculo", | |
"nfe_reboque_transp_id", | |
choice='18', | |
string="Dados do reboque/Dolly (v2.0)" | |
) | |
nfe_vagao = fields.Char( | |
choice='18', | |
string="Identificação do vagão (v2.0)") | |
nfe_balsa = fields.Char( | |
choice='18', | |
string="Identificação da balsa (v2.0)") | |
nfe_vol = fields.One2many( | |
"nfe.v4_00.vol", | |
"nfe_vol_transp_id", | |
string="Dados dos volumes" | |
) | |
class transporta(spec_models.AbstractSpecMixin): | |
"Dados do transportador" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.transporta' | |
_generateds_type = 'transportaType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_CNPJ' | |
nfe_choice19 = fields.Selection([ | |
('nfe_CNPJ', 'CNPJ'), | |
('nfe_CPF', 'CPF')], | |
"CNPJ/CPF", | |
default="nfe_CNPJ") | |
nfe_CNPJ = fields.Char( | |
choice='19', | |
string="CNPJ do transportador") | |
nfe_CPF = fields.Char( | |
choice='19', | |
string="CPF do transportador") | |
nfe_xNome = fields.Char( | |
string="Razão Social ou nome do transportador") | |
nfe_IE = fields.Char( | |
string="Inscrição Estadual (v2.0)") | |
nfe_xEnder = fields.Char( | |
string="Endereço completo") | |
nfe_xMun = fields.Char( | |
string="Nome do munícipio") | |
nfe_UF = fields.Selection( | |
TUf, | |
string="Sigla da UF") | |
class veicProd(spec_models.AbstractSpecMixin): | |
"Veículos novos" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.veicprod' | |
_generateds_type = 'veicProdType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_tpOp' | |
nfe_tpOp = fields.Selection( | |
tpOpType, | |
string="Tipo da Operação", xsd_required=True, | |
help=("Tipo da Operação (1 - Venda concessionária; 2 - Faturamento" | |
"direto; 3 - Venda direta; 0 - Outros)")) | |
nfe_chassi = fields.Char( | |
string="Chassi do veículo - VIN", | |
xsd_required=True, | |
help="Chassi do veículo - VIN (código-identificação-veículo)") | |
nfe_cCor = fields.Char( | |
string="Cor do veículo", xsd_required=True, | |
help="Cor do veículo (código de cada montadora)") | |
nfe_xCor = fields.Char( | |
string="Descrição da cor", xsd_required=True) | |
nfe_pot = fields.Char( | |
string="Potência máxima do motor do veículo em cavalo vapor", | |
xsd_required=True, | |
help=("Potência máxima do motor do veículo em cavalo vapor (CV)." | |
"(potência-veículo)")) | |
nfe_cilin = fields.Char( | |
string="Capacidade voluntária do motor expressa em centímetros cúbicos", | |
xsd_required=True, | |
help=("Capacidade voluntária do motor expressa em centímetros cúbicos" | |
"(CC). (cilindradas)")) | |
nfe_pesoL = fields.Char( | |
string="Peso líquido", xsd_required=True) | |
nfe_pesoB = fields.Char( | |
string="Peso bruto", xsd_required=True) | |
nfe_nSerie = fields.Char( | |
string="Serial (série)", xsd_required=True) | |
nfe_tpComb = fields.Char( | |
string="Tipo de combustível", xsd_required=True, | |
help=("Tipo de combustível-Tabela RENAVAM: 01-Álcool; 02-Gasolina;" | |
"03-Diesel; 16-Álcool/Gas.; 17-Gas./Álcool/GNV;" | |
"18-Gasolina/Elétrico")) | |
nfe_nMotor = fields.Char( | |
string="Número do motor", xsd_required=True) | |
nfe_CMT = fields.Char( | |
string="CMT", xsd_required=True, | |
help=("CMT-Capacidade Máxima de Tração - em Toneladas 4 casas" | |
"decimais")) | |
nfe_dist = fields.Char( | |
string="Distância entre eixos", xsd_required=True) | |
nfe_anoMod = fields.Char( | |
string="Ano Modelo de Fabricação", | |
xsd_required=True) | |
nfe_anoFab = fields.Char( | |
string="Ano de Fabricação", xsd_required=True) | |
nfe_tpPint = fields.Char( | |
string="Tipo de pintura", xsd_required=True) | |
nfe_tpVeic = fields.Char( | |
string="Tipo de veículo", xsd_required=True, | |
help="Tipo de veículo (utilizar tabela RENAVAM)") | |
nfe_espVeic = fields.Char( | |
string="Espécie de veículo", xsd_required=True, | |
help="Espécie de veículo (utilizar tabela RENAVAM)") | |
nfe_VIN = fields.Selection( | |
VINType, | |
string="Informa-se o veículo tem VIN", | |
xsd_required=True, | |
help="Informa-se o veículo tem VIN (chassi) remarcado.") | |
nfe_condVeic = fields.Selection( | |
condVeicType, | |
string="Condição do veículo", | |
xsd_required=True, | |
help=("Condição do veículo (1 - acabado; 2 - inacabado; 3 - semi-" | |
"acabado)")) | |
nfe_cMod = fields.Char( | |
string="Código Marca Modelo", xsd_required=True, | |
help="Código Marca Modelo (utilizar tabela RENAVAM)") | |
nfe_cCorDENATRAN = fields.Char( | |
string="Código da Cor Segundo as regras de pré", | |
xsd_required=True, | |
help=("Código da Cor Segundo as regras de pré-cadastro do DENATRAN: 0" | |
"1-AMARELO;02-AZUL;03-BEGE;04-BRANCA;05-CINZA;06-" | |
"DOURADA;07-GRENA" | |
"08-LARANJA;09-MARROM;10-PRATA;11-PRETA;12-ROSA;13-ROXA;14-VERD" | |
"E;15-VERMELHA;16-FANTASIA")) | |
nfe_lota = fields.Char( | |
string="Quantidade máxima de permitida de passageiros sentados", | |
xsd_required=True, | |
help=("Quantidade máxima de permitida de passageiros sentados," | |
"inclusive motorista.")) | |
nfe_tpRest = fields.Selection( | |
tpRestType, | |
string="Restrição", xsd_required=True, | |
help=("Restrição" | |
"0 - Não há;" | |
"1 - Alienação Fiduciária;" | |
"2 - Arrendamento Mercantil;" | |
"3 - Reserva de Domínio;" | |
"4 - Penhor de Veículos;" | |
"9 - outras.")) | |
class vol(spec_models.AbstractSpecMixin): | |
"Dados dos volumes" | |
_description = textwrap.dedent(" %s" % (__doc__,)) | |
_name = 'nfe.v4_00.vol' | |
_generateds_type = 'volType' | |
_concrete_class = None | |
_concrete_rec_name = 'nfe_qVol' | |
nfe_vol_transp_id = fields.Many2one( | |
"nfe.v4_00.transp") | |
nfe_qVol = fields.Char( | |
string="Quantidade de volumes transportados") | |
nfe_esp = fields.Char( | |
string="Espécie dos volumes transportados") | |
nfe_marca = fields.Char( | |
string="Marca dos volumes transportados") | |
nfe_nVol = fields.Char( | |
string="Numeração dos volumes transportados") | |
nfe_pesoL = fields.Monetary( | |
digits=3, string="Peso líquido (em kg)") | |
nfe_pesoB = fields.Monetary( | |
digits=3, string="Peso bruto (em kg)") | |
nfe_lacres = fields.One2many( | |
"nfe.v4_00.lacres", | |
"nfe_lacres_vol_id", | |
string="lacres" | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment