Skip to content

Commit 4f39663

Browse files
authored
remove-cv (#102)
* remove-cv * linter * enum init * other pydantic version * setup * v
1 parent 8c7b418 commit 4f39663

6 files changed

Lines changed: 38 additions & 11 deletions

File tree

facturapi/resources/customers.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
import datetime as dt
88
from typing import ClassVar, Optional, cast
99

10-
from cuenca_validations.types import SATRegimeCode
1110
from pydantic import BaseModel
1211
from pydantic.dataclasses import dataclass
1312

13+
from ..types.enums import TaxSystemType
1414
from ..types.general import CustomerAddress
1515
from .base import Creatable, Queryable, Retrievable, Updatable
1616

@@ -23,7 +23,7 @@ class CustomerRequest(BaseModel):
2323
Attributes:
2424
legal_name (str): Full name of the customer.
2525
tax_id (str): RFC of the customer.
26-
tax_system: SATRegimeCode regime code from SAT
26+
tax_system: TaxSystemType regime code from SAT
2727
email (str): Email of the customer.
2828
phone (str): Phone of the customer. Optional.
2929
address (CustomerAddress): Address object of the customer. Optional.
@@ -32,7 +32,7 @@ class CustomerRequest(BaseModel):
3232

3333
legal_name: str
3434
tax_id: str
35-
tax_system: SATRegimeCode
35+
tax_system: TaxSystemType
3636
email: str
3737
phone: Optional[str]
3838
address: CustomerAddress
@@ -46,7 +46,7 @@ class CustomerUpdateRequest(BaseModel):
4646
Attributes:
4747
legal_name (str): Full name of the customer. Optional.
4848
tax_id (str): RFC of the customer. Optional.
49-
tax_system: SATRegimeCode regime code from SAT
49+
tax_system: TaxSystemType regime code from SAT
5050
email (str): Email of the customer. Optional.
5151
phone (str): Phone of the customer. Optional.
5252
address (CustomerAddress): Address object of the customer. Optional.
@@ -55,7 +55,7 @@ class CustomerUpdateRequest(BaseModel):
5555

5656
legal_name: Optional[str]
5757
tax_id: Optional[str]
58-
tax_system: Optional[SATRegimeCode]
58+
tax_system: Optional[TaxSystemType]
5959
email: Optional[str]
6060
phone: Optional[str]
6161
address: Optional[CustomerAddress]
@@ -77,7 +77,7 @@ class Customer(Creatable, Queryable, Retrievable, Updatable):
7777
tax_id (str): RFC of the customer.
7878
email (str): Email of the customer.
7979
address (CustomerAddress): Address data of the model. Optional.
80-
tax_system (SATRegimeCode): Enum from catalogue of SAT
80+
tax_system (TaxSystemType): Enum from catalogue of SAT
8181
phone (str): Phone of the customer. Defaults to `None`.
8282
"""
8383

@@ -89,7 +89,7 @@ class Customer(Creatable, Queryable, Retrievable, Updatable):
8989
tax_id: str
9090
email: str
9191
address: CustomerAddress
92-
tax_system: Optional[SATRegimeCode] = None
92+
tax_system: Optional[TaxSystemType] = None
9393
phone: Optional[str] = None
9494

9595
@classmethod

facturapi/types/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
'PaymentForm',
1010
'PaymentMethod',
1111
'SanitizedDict',
12+
'TaxSystemType',
1213
'exc',
1314
'general',
1415
'validators',
@@ -22,5 +23,6 @@
2223
InvoiceUse,
2324
PaymentForm,
2425
PaymentMethod,
26+
TaxSystemType,
2527
)
2628
from .queries import BaseQuery, DateFilter

facturapi/types/enums.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,3 +94,29 @@ class PaymentMethod(str, Enum):
9494

9595
contado = 'PUE'
9696
parcialidades = 'PPD'
97+
98+
99+
class TaxSystemType(str, Enum):
100+
GRL_PM = "601" # General de Ley Personas Morales
101+
PM_FN = "603" # Personas Morales con Fines no Lucrativos
102+
SAL_IS = "605" # Sueldos y Salarios e Ingresos Asimilados a Salarios
103+
ARR = "606" # Arrendamiento
104+
DEM_ING = "608" # Demás ingresos
105+
CONS = "609" # Consolidación
106+
RES_EXT = "610" # Residentes en el Extranjero sin Establecimiento Permanente en México # noqa: E501
107+
DIV = "611" # Ingresos por Dividendos (socios y accionistas)
108+
PF_AEP = "612" # Personas Físicas con Actividades Empresariales y Profesionales # noqa: E501
109+
INT = "614" # Ingresos por intereses
110+
SIN_OBL = "616" # Sin obligaciones fiscales
111+
SCP_DIF = "620" # Sociedades Cooperativas de Producción que optan por diferir sus ingresos # noqa: E501
112+
INC_FISC = "621" # Incorporación Fiscal
113+
AGRO_GAN_SILV_PES = "622" # Actividades Agrícolas, Ganaderas, Silvícolas y Pesqueras # noqa: E501
114+
OP_GRUPO_SOC = "623" # Opcional para Grupos de Sociedades
115+
COOR = "624" # Coordinados
116+
HID = "628" # Hidrocarburos
117+
ENAJ_ADQ = "607" # Régimen de Enajenación o Adquisición de Bienes
118+
PREF_EM_MULT = "629" # De los Regímenes Fiscales Preferentes y de las Empresas Multinacionales # noqa: E501
119+
ENAJ_ACC_BOL = "630" # Enajenación de acciones en bolsa de valores
120+
ING_PREM = "615" # Régimen de los ingresos por obtención de premios
121+
AE_PLAT_TEC = "625" # Régimen de las Actividades Empresariales con ingresos a través de Plataformas Tecnológicas # noqa: E501
122+
RS_CONF = "626" # Régimen Simplificado de Confianza

facturapi/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
__version__ = '0.1.0' # pragma: no cover
1+
__version__ = '0.1.1' # pragma: no cover
22
CLIENT_VERSION = __version__

requirements.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
requests==2.28.1
2-
pydantic==1.8.2
2+
pydantic==1.7.3
33
dataclasses>=0.7;python_version<"3.7"
4-
cuenca-validations==0.11.18

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
python_requires='>=3.6',
2525
install_requires=[
2626
'requests>=2.4,<2.26',
27-
'pydantic==1.8.2',
27+
'pydantic==1.7.3',
2828
'dataclasses>=0.7;python_version<"3.7"',
2929
],
3030
classifiers=[

0 commit comments

Comments
 (0)