servico_plugnotas_teste/Models/nfse.py
2026-07-10 16:32:22 -03:00

49 lines
1 KiB
Python

from pydantic import BaseModel
from typing import Optional
class Prestador(BaseModel):
cpfCnpj: str
class Endereco(BaseModel):
descricaoCidade: str
cep: str
tipoLogradouro: str
logradouro: str
tipoBairro: Optional[str] = None
codigoCidade: str
complemento: Optional[str] = None
estado: str
numero: str
bairro: str
class Tomador(BaseModel):
cpfCnpj: str
razaoSocial: str
inscricaoMunicipal: Optional[str] = None
email: str
endereco: dict
class ISS(BaseModel):
tipoTributacao: int
exigibilidade: int
aliquota: float
class Valor(BaseModel):
servico: float
descontoCondicionado: Optional[float] = 0
descontoIncondicionado: Optional[float] = 0
class Servico(BaseModel):
codigo: str
codigoTributacao: str
discriminacao: str
cnae: str
iss: ISS
valor: Valor
# Estrutura padrão de envio de uma NFSe contendo Prestador, Tomador e Serviço prestado
class NFSe(BaseModel):
idIntegracao: str
prestador: Prestador
tomador: Tomador
servico: Servico