brynq-sdk-nmbrs 2.3.1__py3-none-any.whl → 2.3.1.dev0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. brynq_sdk_nmbrs/__init__.py +36 -22
  2. brynq_sdk_nmbrs/costcenter.py +53 -8
  3. brynq_sdk_nmbrs/costunit.py +16 -4
  4. brynq_sdk_nmbrs/department.py +36 -27
  5. brynq_sdk_nmbrs/employee_wage_tax_settings.py +106 -0
  6. brynq_sdk_nmbrs/employees.py +119 -24
  7. brynq_sdk_nmbrs/employment.py +12 -4
  8. brynq_sdk_nmbrs/salaries.py +5 -2
  9. brynq_sdk_nmbrs/schemas/address.py +4 -5
  10. brynq_sdk_nmbrs/schemas/bank.py +0 -2
  11. brynq_sdk_nmbrs/schemas/contracts.py +25 -11
  12. brynq_sdk_nmbrs/schemas/costcenter.py +57 -18
  13. brynq_sdk_nmbrs/schemas/costunit.py +0 -2
  14. brynq_sdk_nmbrs/schemas/days.py +0 -2
  15. brynq_sdk_nmbrs/schemas/department.py +8 -7
  16. brynq_sdk_nmbrs/schemas/employees.py +42 -38
  17. brynq_sdk_nmbrs/schemas/employment.py +10 -10
  18. brynq_sdk_nmbrs/schemas/function.py +6 -7
  19. brynq_sdk_nmbrs/schemas/hours.py +0 -4
  20. brynq_sdk_nmbrs/schemas/leave.py +0 -1
  21. brynq_sdk_nmbrs/schemas/manager.py +0 -3
  22. brynq_sdk_nmbrs/schemas/salary.py +19 -12
  23. brynq_sdk_nmbrs/schemas/schedules.py +0 -1
  24. brynq_sdk_nmbrs/schemas/wage_tax.py +4 -4
  25. brynq_sdk_nmbrs/schemas/wage_tax_settings.py +63 -0
  26. brynq_sdk_nmbrs/schemas/wagecomponents.py +0 -4
  27. brynq_sdk_nmbrs/wage_tax.py +1 -1
  28. {brynq_sdk_nmbrs-2.3.1.dist-info → brynq_sdk_nmbrs-2.3.1.dev0.dist-info}/METADATA +1 -1
  29. brynq_sdk_nmbrs-2.3.1.dev0.dist-info/RECORD +52 -0
  30. {brynq_sdk_nmbrs-2.3.1.dist-info → brynq_sdk_nmbrs-2.3.1.dev0.dist-info}/WHEEL +1 -1
  31. brynq_sdk_nmbrs-2.3.1.dist-info/RECORD +0 -50
  32. {brynq_sdk_nmbrs-2.3.1.dist-info → brynq_sdk_nmbrs-2.3.1.dev0.dist-info}/top_level.txt +0 -0
@@ -76,7 +76,6 @@ class PeriodPost(BaseModel):
76
76
  unprotected_mode: Optional[bool] = Field(None, example=False, description="Unprotected Mode", alias="unprotectedMode")
77
77
 
78
78
  class FixedHoursCreate(BaseModel):
79
- employee_id: str = Field(..., description="Employee identifier", alias="employeeId")
80
79
  hour_code: int = Field(..., ge=1, example=2100, description="Hour Code", alias="hourCode")
81
80
  number_of_hours: float = Field(..., ge=0, le=1000, example=40, description="Hours", alias="hours")
82
81
  cost_center_id: Optional[str] = Field(None, example="aa506564-d1db-4fa8-83dc-d68db4cfcd82", description="Cost Center ID", alias="costCenterId")
@@ -87,7 +86,6 @@ class FixedHoursCreate(BaseModel):
87
86
  period_details: Optional[PeriodPost] = None
88
87
 
89
88
  class FixedHoursUpdate(BaseModel):
90
- employee_id: str = Field(..., description="Employee identifier", alias="employeeId")
91
89
  hour_component_id: str = Field(..., example="ddaae291-47fa-4c67-bb2f-de0e5da9e8a1", description="Hour Component ID", alias="hourComponentId")
92
90
  hour_code: Optional[int] = Field(None, ge=1, example=2100, description="Hour Code", alias="hourCode")
93
91
  number_of_hours: Optional[float] = Field(None, ge=0, le=1000, example=40, description="Hours", alias="hours")
@@ -99,7 +97,6 @@ class FixedHoursUpdate(BaseModel):
99
97
  period_details: Optional[PeriodPost] = None
100
98
 
101
99
  class VariableHoursCreate(BaseModel):
102
- employee_id: str = Field(..., description="Employee identifier", alias="employeeId")
103
100
  hour_code: int = Field(..., ge=1, example=2100, description="Hour Code", alias="hourCode")
104
101
  number_of_hours: float = Field(..., ge=0, le=1000, example=3.5, description="Hours", alias="hours")
105
102
  cost_center_id: Optional[str] = Field(None, example="aa506564-d1db-4fa8-83dc-d68db4cfcd82", description="Cost Center ID", alias="costCenterId")
@@ -108,7 +105,6 @@ class VariableHoursCreate(BaseModel):
108
105
  period_details: Optional[PeriodPost] = Field(None, example="Period details", description="Period details", alias="periodDetails")
109
106
 
110
107
  class VariableHoursUpdate(BaseModel):
111
- employee_id: str = Field(..., description="Employee identifier", alias="employeeId")
112
108
  hour_component_id: str = Field(..., example="49a69eda-252e-4ccb-a220-38ea90511d4f", description="Hour Component ID", alias="hourComponentId")
113
109
  hour_code: Optional[int] = Field(None, ge=1, example=2100, description="Hour Code", alias="hourCode")
114
110
  number_of_hours: Optional[float] = Field(None, ge=0, le=1000, example=45.5, description="Hours", alias="hours")
@@ -33,7 +33,6 @@ class LeaveGet(BrynQPanderaDataFrameModel):
33
33
 
34
34
 
35
35
  class LeaveCreate(BaseModel):
36
- employee_id: str = Field(..., description="Employee identifier", alias="employeeId")
37
36
  leave_group_id: str = Field(..., example="49a69eda-252e-4ccb-a220-38ea90511d4f", description="Leave Group ID", alias="leaveGroupId")
38
37
  start_date: datetime = Field(..., example="2025-01-01", description="Leave Start Date", alias="startDate")
39
38
  end_date: datetime = Field(..., example="2025-01-02", description="Leave End Date", alias="endDate")
@@ -102,7 +102,6 @@ class Period(BaseModel):
102
102
  period: int = Field(..., ge=1, le=53, example=4, description="Period", alias="period")
103
103
 
104
104
  class ManagerCreate(BaseModel):
105
- debtor_id: str = Field(..., description="Debtor identifier", alias="debtorId")
106
105
  number: int = Field(..., ge=1, example=1, description="Manager number", alias="number")
107
106
  first_name: str = Field(..., max_length=100, example="John", description="Manager first name", alias="firstName")
108
107
  last_name: str = Field(..., max_length=100, example="Doe", description="Manager last name", alias="lastName")
@@ -113,7 +112,6 @@ class ManagerCreate(BaseModel):
113
112
  email: Optional[str] = Field(None, max_length=100, example="john.doe@company.com", description="Manager email", alias="email")
114
113
 
115
114
  class ManagerUpdate(BaseModel):
116
- debtor_id: str = Field(..., description="Debtor identifier", alias="debtorId")
117
115
  manager_id: str = Field(..., example="2f6aa11c-504a-49a1-903b-e15e79965702", description="Manager ID", alias="managerId")
118
116
  period_details: Period = Field(..., alias="periodDetails")
119
117
 
@@ -121,6 +119,5 @@ class ManagerDelete(BaseModel):
121
119
  manager_id: str = Field(..., example="2f6aa11c-504a-49a1-903b-e15e79965702", description="Manager ID", alias="managerId")
122
120
 
123
121
  class UpdateEmployeeManager(BaseModel):
124
- employee_id: str = Field(..., description="Employee identifier", alias="employeeId")
125
122
  manager_id: str = Field(..., example="2f6aa11c-504a-49a1-903b-e15e79965702", description="Manager ID", alias="managerId")
126
123
  period_details: Period = Field(..., alias="periodDetails")
@@ -1,14 +1,16 @@
1
1
  import math
2
+ from datetime import datetime
3
+ from typing import Annotated, Optional
4
+
2
5
  import pandas as pd
3
6
  import pandera as pa
4
- from pandera import Bool
5
- from pandera.typing import Series, String, Float, DateTime
6
7
  import pandera.extensions as extensions
8
+ from pandera import Bool
9
+ from pandera.typing import DateTime, Float, Series, String
10
+ from pydantic import BaseModel, Field, StringConstraints, model_serializer
11
+
7
12
  from brynq_sdk_functions import BrynQPanderaDataFrameModel
8
13
 
9
- from typing import Optional, Annotated
10
- from pydantic import BaseModel, Field, StringConstraints
11
- from datetime import datetime
12
14
 
13
15
  # ---------------------------
14
16
  # Get Schemas
@@ -16,7 +18,7 @@ from datetime import datetime
16
18
  class SalaryGet(BrynQPanderaDataFrameModel):
17
19
  employee_id: Series[String] = pa.Field(coerce=True, description="Employee ID", alias="employeeId")
18
20
  salary_id: Series[String] = pa.Field(coerce=True, description="Salary ID", alias="salaryId")
19
- start_date: Series[DateTime] = pa.Field(coerce=True, description="Start Date", alias="startDate")
21
+ start_date_salary: Series[DateTime] = pa.Field(coerce=True, description="Start Date", alias="startDate")
20
22
  salary_type: Series[String] = pa.Field(
21
23
  coerce=True,
22
24
  isin=[
@@ -32,7 +34,7 @@ class SalaryGet(BrynQPanderaDataFrameModel):
32
34
  description="Salary Type",
33
35
  alias="type"
34
36
  )
35
- value: Series[Float] = pa.Field(coerce=True, nullable=True, description="Value", alias="value")
37
+ salary_amount: Series[Float] = pa.Field(coerce=True, nullable=True, description="Value", alias="value")
36
38
  created_at: Series[DateTime] = pa.Field(coerce=True, description="Created At", alias="createdAt")
37
39
 
38
40
  class _Annotation:
@@ -54,7 +56,6 @@ class SalaryTableUpdate(BaseModel):
54
56
  step_id: Optional[str] = Field(None, example="c9c6feef-cd69-4773-8602-f70fa3b561e4", description="Step ID", alias="stepId")
55
57
 
56
58
  class SalaryCreate(BaseModel):
57
- employee_id: str = Field(..., description="Employee identifier", alias="employeeId")
58
59
  start_date_salary: datetime = Field(..., example="2021-08-01T00:00:00Z", description="Start Date", alias="startDate")
59
60
  salary_type: Optional[Annotated[
60
61
  str,
@@ -64,10 +65,16 @@ class SalaryCreate(BaseModel):
64
65
  )
65
66
  ]] = Field(None, example="grossFulltimeSalary", description="Salary Type", alias="type")
66
67
  salary_amount: Optional[float] = Field(None, ge=0, example=3480.95, description="Value", alias="value")
67
- salary_table_id: Optional[str] = Field(None, example="e17a06f1-ae4c-4098-92a6-87976ea7dc9a", description="Salary Table ID", alias="salaryTableId")
68
- scale_id: Optional[str] = Field(None, example="d5f761c0-20e7-490b-b756-644739fa6120", description="Scale ID", alias="scaleId")
69
- step_id: Optional[str] = Field(None, example="c9c6feef-cd69-4773-8602-f70fa3b561e4", description="Step ID", alias="stepId")
70
- salary_table_update: Optional[SalaryTableUpdate] = Field(None, description="Salary Table Update", alias="salaryTable")
68
+ salary_table_update: Optional[SalaryTableUpdate] = Field(default=None, description="Salary Table Update", alias="salaryTable")
69
+
70
+ @model_serializer(mode='wrap')
71
+ def serialize_model(self, serializer, info):
72
+ data = serializer(self)
73
+ # Exclude salaryTable if it exists but all its nested fields are None
74
+ if 'salaryTable' in data and data['salaryTable'] is not None:
75
+ if isinstance(data['salaryTable'], dict) and all(v is None for v in data['salaryTable'].values()):
76
+ data.pop('salaryTable')
77
+ return data
71
78
 
72
79
  class SalaryTableGet(BrynQPanderaDataFrameModel):
73
80
  code: Series[String] = pa.Field(coerce=True, description="Salary Code", alias="Code")
@@ -60,7 +60,6 @@ class ScheduleCreate(BaseModel):
60
60
  """
61
61
  Pydantic model for creating a new schedule
62
62
  """
63
- employee_id: str = Field(..., description="Employee identifier", alias="employeeId")
64
63
  start_date_schedule: datetime = Field(..., description="Start date of the schedule", example="2021-01-01T09:29:18Z", alias="startDate")
65
64
  hours_per_week: Optional[float] = Field(None, description="Hours per week", example=40, alias="hoursPerWeek")
66
65
  week1: Optional[ScheduleHours] = Field(None, description="Week 1 schedule hours", alias="week1")
@@ -5,7 +5,7 @@ from pandera import Bool
5
5
  from pandera.typing import Series, String, Float, DateTime
6
6
  import pandera.extensions as extensions
7
7
  from brynq_sdk_functions import BrynQPanderaDataFrameModel
8
- from typing import Optional, Annotated
8
+ from typing import Optional, Annotated, Union
9
9
  from pydantic import BaseModel, Field, StringConstraints
10
10
  from datetime import datetime
11
11
 
@@ -19,8 +19,8 @@ class WageTaxSettingsGet(BrynQPanderaDataFrameModel):
19
19
  year: Series[pd.Int64Dtype] = pa.Field(coerce=True, description="Year", alias="Year")
20
20
  status: Series[String] = pa.Field(coerce=True, description="Status", alias="Status")
21
21
  sent_at: Series[DateTime] = pa.Field(coerce=True, description="Sent At", alias="SentAt")
22
- period_start: Series[DateTime] = pa.Field(coerce=True, description="Tijdvak Start", alias="TijdvakStart")
23
- period_end: Series[DateTime] = pa.Field(coerce=True, description="Tijdvak End", alias="TijdvakEnd")
22
+ period_start: Series[String] = pa.Field(coerce=True, description="Tijdvak Start", alias="TijdvakStart")
23
+ period_end: Series[String] = pa.Field(coerce=True, description="Tijdvak End", alias="TijdvakEnd")
24
24
  correction_period_start: Series[DateTime] = pa.Field(nullable=True, coerce=True, description="Correction Tijdvak Start", alias="CorrectionTijdvakStart")
25
25
  correction_period_end: Series[DateTime] = pa.Field(nullable=True, coerce=True, description="Correction Tijdvak End", alias="CorrectionTijdvakEnd")
26
26
 
@@ -53,7 +53,7 @@ class WageTaxGet(BrynQPanderaDataFrameModel):
53
53
  wage_tax_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, description="Wage Tax ID", alias="Id")
54
54
  employee_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, description="Employee ID", alias="EmployeeId")
55
55
  yearly_salary: Series[pd.Float64Dtype] = pa.Field(coerce=True, description="Yearly Salary", alias="JaarloonBT")
56
- deviation_special_rate_payroll_tax_deduction: Series[pd.Int64Dtype] = pa.Field(coerce=True, description="Afw Bijz Tarief LH", alias="AfwBijzTariefLH")
56
+ deviation_special_rate_payroll_tax_deduction: Series[str] = pa.Field(coerce=True, description="Afw Bijz Tarief LH", alias="AfwBijzTariefLH")
57
57
  auto_small_jobs: Series[Bool] = pa.Field(coerce=True, description="Auto Kleine Banen Regeling", alias="AutoKleineBanenRegeling")
58
58
  payroll_tax_deduction: Series[Bool] = pa.Field(coerce=True, description="Loonheffingkorting", alias="Loonheffingkorting")
59
59
  benefit_scheme: Series[Bool] = pa.Field(coerce=True, description="Voordeelreg", alias="Voordeelreg")
@@ -0,0 +1,63 @@
1
+ from datetime import datetime
2
+ from typing import Optional
3
+
4
+ import pandas as pd
5
+ import pandera as pa
6
+ from pandera import Bool
7
+ from pandera.typing import DateTime, Float, Series, String
8
+ from pydantic import BaseModel, Field
9
+
10
+ from brynq_sdk_functions import BrynQPanderaDataFrameModel
11
+
12
+
13
+ # ---------------------------
14
+ # Get Schemas
15
+ # ---------------------------
16
+ class EmployeeWageTaxSettingsGet(BrynQPanderaDataFrameModel):
17
+ employee_id: Series[String] = pa.Field(coerce=True, description="Employee ID", alias="employeeId")
18
+ wage_tax_settings_id: Series[String] = pa.Field(coerce=True, description="Wage Tax Settings ID", alias="id")
19
+ start_date: Series[DateTime] = pa.Field(coerce=True, description="Start Date", alias="startDate")
20
+ end_date: Series[DateTime] = pa.Field(coerce=True, nullable=True, description="End Date", alias="endDate")
21
+ yearly_salary: Series[Float] = pa.Field(coerce=True, nullable=True, description="Yearly Salary", alias="yearlySalary")
22
+ deviation_special_rate_payroll_tax_deduction: Series[Float] = pa.Field(coerce=True, nullable=True, description="Deviation Special Rate Payroll Tax Deduction", alias="deviationSpecialRatePayrollTaxDeduction")
23
+ auto_small_jobs: Series[Bool] = pa.Field(coerce=True, nullable=True, description="Auto Small Jobs Regulation", alias="autoSmallJobsRegulation")
24
+ payroll_tax_deduction: Series[Bool] = pa.Field(coerce=True, nullable=True, description="Payroll Tax Deduction", alias="payrollTaxDeduction")
25
+ benefit_scheme: Series[Bool] = pa.Field(coerce=True, nullable=True, description="Benefit Scheme", alias="benefitScheme")
26
+ payroll_tax: Series[Bool] = pa.Field(coerce=True, nullable=True, description="Payroll Tax", alias="payrollTax")
27
+ code_tax_reduction: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Code Tax Reduction", alias="codeTaxReduction")
28
+ color_table: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Color Table", alias="colorTable")
29
+ type_of_income: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Type of Income", alias="typeOfIncome")
30
+ special_table: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Special Table", alias="specialTable")
31
+ period_table: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Period Table", alias="periodTable")
32
+ holiday_vouchers: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Holiday Vouchers", alias="holidayVouchers")
33
+ code_calculate_30_percent_rule: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Code Calculate 30% Rule", alias="codeCalculate30PercentRule")
34
+
35
+ class _Annotation:
36
+ primary_key = "wage_tax_settings_id"
37
+ foreign_keys = {
38
+ "employee_id": {
39
+ "parent_schema": "EmployeeSchema",
40
+ "parent_column": "employee_id",
41
+ "cardinality": "N:1"
42
+ }
43
+ }
44
+
45
+ # ---------------------------
46
+ # Upload Schemas
47
+ # ---------------------------
48
+ class Period(BaseModel):
49
+ period_year: int = Field(..., ge=1900, le=2100, example=2021, description="Year", alias="year")
50
+ period_period: int = Field(..., ge=1, le=53, example=4, description="Period", alias="period")
51
+
52
+ class EmployeeWageTaxSettingsCreate(BaseModel):
53
+ wage_tax: Optional[bool] = Field(None, example=True, description="Wage Tax", alias="wageTax")
54
+ wage_tax_rebate: Optional[bool] = Field(None, example=True, description="Wage Tax Rebate", alias="wageTaxRebate")
55
+ single_elderly_discount: Optional[bool] = Field(None, example=True, description="Single Elderly Discount", alias="singleElderlyDiscount")
56
+ color_table: Optional[str] = Field(None, example="White", description="Color Table", alias="colorTable")
57
+ period_table: Optional[str] = Field(None, example="Month", description="Period Table", alias="periodTable")
58
+ income_type: Optional[str] = Field(None, description="Income Type", alias="incomeType")
59
+ special_annual_salary_rate: Optional[float] = Field(None, ge=0, example=0.0, description="Special Annual Salary Rate", alias="specialAnnualSalaryRate")
60
+ special_table: Optional[str] = Field(None, description="Special Table", alias="specialTable")
61
+ different_special_rate: Optional[float] = Field(None, example=0.0, description="Different Special Rate", alias="differentSpecialRate")
62
+ calc_30_percent_ruling: Optional[str] = Field(None, example="None", description="Calculate 30% Ruling", alias="Calc30PercentRuling")
63
+ period: Period = Field(..., description="Period", alias="period")
@@ -65,7 +65,6 @@ class PeriodPost(BaseModel):
65
65
  period: int = Field(..., ge=1, le=53, example=4, description="Period", alias="period")
66
66
 
67
67
  class FixedWageComponentCreate(BaseModel):
68
- employee_id: str = Field(..., description="Employee identifier", alias="employeeId")
69
68
  code: int = Field(..., ge=1, example=1100, description="Wage Component Code", alias="code")
70
69
  value: float = Field(..., ge=0, example=500, description="Wage Component Value", alias="value")
71
70
  end_year: Optional[int] = Field(None, ge=1900, le=2100, example=2023, description="End Year", alias="endYear")
@@ -77,7 +76,6 @@ class FixedWageComponentCreate(BaseModel):
77
76
  unprotected_mode: Optional[bool] = Field(None, example=True, description="Unprotected Mode", alias="unprotectedMode")
78
77
 
79
78
  class FixedWageComponentUpdate(BaseModel):
80
- employee_id: str = Field(..., description="Employee identifier", alias="employeeId")
81
79
  fixed_wage_component_id: str = Field(..., example="643c6b90-57c6-4199-9e4e-ded553572d78", description="Fixed Wage Component ID", alias="fixedWageComponentId")
82
80
  code: Optional[int] = Field(None, ge=1, example=1100, description="Wage Component Code", alias="code")
83
81
  value: Optional[float] = Field(None, ge=0, example=500, description="Wage Component Value", alias="value")
@@ -90,7 +88,6 @@ class FixedWageComponentUpdate(BaseModel):
90
88
  unprotected_mode: Optional[bool] = Field(None, example=True, description="Unprotected Mode", alias="unprotectedMode")
91
89
 
92
90
  class VariableWageComponentCreate(BaseModel):
93
- employee_id: str = Field(..., description="Employee identifier", alias="employeeId")
94
91
  code: int = Field(..., ge=1, example=3045, description="Wage Component Code", alias="code")
95
92
  value: float = Field(..., ge=0, example=200, description="Wage Component Value", alias="value")
96
93
  comment: Optional[str] = Field(None, example="comment", description="Comment", alias="comment")
@@ -100,7 +97,6 @@ class VariableWageComponentCreate(BaseModel):
100
97
  unprotected_mode: Optional[bool] = Field(None, example=True, description="Unprotected Mode", alias="unprotectedMode")
101
98
 
102
99
  class VariableWageComponentUpdate(BaseModel):
103
- employee_id: str = Field(..., description="Employee identifier", alias="employeeId")
104
100
  variable_wage_component_id: str = Field(..., example="7fc59095-daed-4746-a7f8-a454e38e3683", description="Variable Wage Component ID", alias="variableWageComponentId")
105
101
  code: Optional[int] = Field(None, ge=1, example=3045, description="Wage Component Code", alias="code")
106
102
  value: Optional[float] = Field(None, ge=0, example=2200, description="Wage Component Value", alias="value")
@@ -94,7 +94,7 @@ class WageTax:
94
94
  auth_header = self.nmbrs._get_soap_auth_header_employees()
95
95
 
96
96
  # Make SOAP request with the proper header structure
97
- response = self.soap_client_employees.service.WageTax_GetCurrent(
97
+ response = self.soap_client_employees.service.WageTax_GetList(
98
98
  EmployeeId=employee_id,
99
99
  _soapheaders=[auth_header]
100
100
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: brynq_sdk_nmbrs
3
- Version: 2.3.1
3
+ Version: 2.3.1.dev0
4
4
  Summary: Nmbrs wrapper from BrynQ
5
5
  Author: BrynQ
6
6
  Author-email: support@brynq.com
@@ -0,0 +1,52 @@
1
+ brynq_sdk_nmbrs/__init__.py,sha256=zh309L6h8_YwOgMopKNp3HeGOti-SuzI0A7_TNfXQaw,10568
2
+ brynq_sdk_nmbrs/absence.py,sha256=xNzoDgw0Jj-JYS68lpwNzbrDy3BKsR-Iz-anlJW7YS0,4658
3
+ brynq_sdk_nmbrs/address.py,sha256=FTzzs04tyNZNoysQ18lei137JXhvZUjYH8vS3Z5Nnk4,2325
4
+ brynq_sdk_nmbrs/bank.py,sha256=2zZ9pCEdPkxvjqyyo0bfZw0JpJpzDBXZVNmO3lHjHGQ,4165
5
+ brynq_sdk_nmbrs/children.py,sha256=hwgh3RKTs6oK6ztZ-TADXXK4Ekq_svo81D9aytCzkE4,3479
6
+ brynq_sdk_nmbrs/companies.py,sha256=fqG9JERkaatkfzLFO3vC37rHr_W6pZ2DOeWS68b-TGc,3426
7
+ brynq_sdk_nmbrs/contract.py,sha256=lccpAbhNjj4x45WOnF7h2LlBG5XCXelnis7WyPvJJrE,4527
8
+ brynq_sdk_nmbrs/costcenter.py,sha256=eT_tHPI5VzC1Do46fYlXbv1Pi4l9izi6b03eXJkjfLg,7923
9
+ brynq_sdk_nmbrs/costunit.py,sha256=AUpik9lz-HaE23Z1_kw0dWdcgaBR9m0UDUK8AIcXj-E,3269
10
+ brynq_sdk_nmbrs/days.py,sha256=T2ZdMCN1iE6WseX40Hn8-iNRCz47kWUuwNVRwQJX7TY,4534
11
+ brynq_sdk_nmbrs/debtors.py,sha256=yig5Fdv9deyeoVwlGu8n5wwKdx7gZBDKtJLitQDAX98,785
12
+ brynq_sdk_nmbrs/department.py,sha256=Qw7N8gbo-mod1h6L-xK_AXzjd7zxOdN2DW4Wb7sBu0s,4305
13
+ brynq_sdk_nmbrs/document.py,sha256=Eb2mpsQRI1t5u0szUsc8YYI8tC_8ARW7wZUZRFA8RzQ,839
14
+ brynq_sdk_nmbrs/employee_wage_tax_settings.py,sha256=OXWe8R8hpY_bx1llli4aSrBHXUPEx0e7QitSrc8Qf98,3259
15
+ brynq_sdk_nmbrs/employees.py,sha256=O-agb_l8cb3cFjZ46u4XekrNF2B2TZwyen6EnkOeQqI,10944
16
+ brynq_sdk_nmbrs/employment.py,sha256=L5Oc-5Y3bj2Eqm5u8lDGIgwYSS-leK8fRaVQKePCLhI,3839
17
+ brynq_sdk_nmbrs/function.py,sha256=bsafEcLglr2iT3jehbmGAme6-xI2ieOvaAueeVVT64I,3066
18
+ brynq_sdk_nmbrs/hours.py,sha256=3pbl6IA8BBC6wrfTvkJha1LJi4SjrZCBINUANhuDvDQ,8140
19
+ brynq_sdk_nmbrs/leave.py,sha256=Z17nPlRTVy_pqyInrbJNnF_83c8__Z207nh1aWVycCg,4515
20
+ brynq_sdk_nmbrs/manager.py,sha256=wE2UJYPsKUN5jv3HmLpVAERcxcChwoMLfFgja8vxM6U,9441
21
+ brynq_sdk_nmbrs/salaries.py,sha256=F5gTJbMFzn7ulykeX2PIvWtKeyPvMxjuAqey5Vr8PZo,2913
22
+ brynq_sdk_nmbrs/salary_tables.py,sha256=T7_bJE-CtRF08FWyLJnXm5Q3Q5Usozx4iCByqoTPOwo,9390
23
+ brynq_sdk_nmbrs/schedules.py,sha256=jvi3aRdsgU_lalVWAcnfsfg8-g7J4m8pVW42HP-aExA,2928
24
+ brynq_sdk_nmbrs/social_insurance.py,sha256=7sfgZeGDXGrvcsj8tTj7JaFK2fSOzVdtEjJ0wKRr2BI,1899
25
+ brynq_sdk_nmbrs/wage_tax.py,sha256=kMPBcPmvs56dS6Ky-oITgwgwW_Z01h1ebFnw2O-eDPk,6238
26
+ brynq_sdk_nmbrs/wagecomponents.py,sha256=nkk7HGlcdEx2K3VQ2G2zwLbNMFPNHQK4YwOEnFBtDj0,9539
27
+ brynq_sdk_nmbrs/schemas/__init__.py,sha256=rwMb9AJSBXn_50SOa1rIvwOsCrtpj3vQxjXioxrxuyI,2301
28
+ brynq_sdk_nmbrs/schemas/absence.py,sha256=f2ZDpy0qnyUyCjk2JjTNCazB_12lmP462MkI4eyf3ws,3320
29
+ brynq_sdk_nmbrs/schemas/address.py,sha256=BbegzOEyLaa_MhHCtLA3RLpg9jsQdU84SkMuaT4lulg,4078
30
+ brynq_sdk_nmbrs/schemas/bank.py,sha256=QWMGevA4TKju8i20kAwEaV3FW7tpG4vjo0XTQvX90pw,4359
31
+ brynq_sdk_nmbrs/schemas/contracts.py,sha256=g5Wcn6QGhc95ZIyySSECiyMKJ_lUoeQgfa8rb-30ms0,4138
32
+ brynq_sdk_nmbrs/schemas/costcenter.py,sha256=YYuHr_9eNxM3pRXLYEBT4CU8KCleyJO9O-2d-_91AME,6961
33
+ brynq_sdk_nmbrs/schemas/costunit.py,sha256=WsICBZz2xliPoRyl1qT61AzcHE0o2ytmQLWCTmTSHww,1682
34
+ brynq_sdk_nmbrs/schemas/days.py,sha256=rLMETxP9yYD7mBX2pZDK9IJs4w16ejuwZ0tBip9bY6Q,6774
35
+ brynq_sdk_nmbrs/schemas/debtor.py,sha256=07FUL9MNKMfGKUifqeWSgQBTq1pVG5NB0OkaFgB9v88,721
36
+ brynq_sdk_nmbrs/schemas/department.py,sha256=zbZt21WQXkY5tdVEvvdXP8DYda9_dgNCDWKKBXMAqoI,2945
37
+ brynq_sdk_nmbrs/schemas/employees.py,sha256=KWBKY6W7iZEqFC5wVSKRqAtWVX0CEfEVOMq4rGbiGeo,10979
38
+ brynq_sdk_nmbrs/schemas/employment.py,sha256=cAZ5hfn01ipv3gTB3cSVRYKBBoeXSbE2K8L5nu0T2QY,2489
39
+ brynq_sdk_nmbrs/schemas/function.py,sha256=0pQQhs8-yBhvv3Zoszp7rVhzPxoMItlcyxbhW55BMSc,2318
40
+ brynq_sdk_nmbrs/schemas/hours.py,sha256=dwH7_Dn0atztYHh35UzEX2i6e1Jr8ltZun_zsAXbbRw,7845
41
+ brynq_sdk_nmbrs/schemas/leave.py,sha256=JHf8-YVyJH6p0ge6QJwNsotlR7DRzPtx3HXGOkL4vy4,3224
42
+ brynq_sdk_nmbrs/schemas/manager.py,sha256=Wxbpv_ts0q7ywe63GTu0FxP_7s-NHFXvBYDBpjM4GJg,9055
43
+ brynq_sdk_nmbrs/schemas/salary.py,sha256=Ayuk6xNYUFU-mUDpZat2LbunSPqH8Y9vPvZ-vTsBsTc,5491
44
+ brynq_sdk_nmbrs/schemas/schedules.py,sha256=jJj9P0M_r-AF016jqkOLL18D4EAir8Q4wdXl7hNEqlY,5392
45
+ brynq_sdk_nmbrs/schemas/social_insurance.py,sha256=xJX7Duzcnu4vrKWIAan1iCUhNDtRflOLrIg7YBbtu70,2470
46
+ brynq_sdk_nmbrs/schemas/wage_tax.py,sha256=imgnhbTWIqOxad9X1Dhaqyom-F7IAnuJscD7jgETTDA,7335
47
+ brynq_sdk_nmbrs/schemas/wage_tax_settings.py,sha256=i29zlrxFDJGntt2M5xO6h1GNtiWSy1oMPgtAWbuh8zA,4596
48
+ brynq_sdk_nmbrs/schemas/wagecomponents.py,sha256=ysuGH3af0OIoMefBiJIgbe7hMXDRolpdEjNoKBN8nvw,7413
49
+ brynq_sdk_nmbrs-2.3.1.dev0.dist-info/METADATA,sha256=o5llCaj2_R2ZHPgJiNRRYk5d8oOZdU4NZo2x2g5myIk,534
50
+ brynq_sdk_nmbrs-2.3.1.dev0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
51
+ brynq_sdk_nmbrs-2.3.1.dev0.dist-info/top_level.txt,sha256=LrSQFzIV7FP02jBHdBKubiCbIy0C_5YnTz3DSYYoQzg,16
52
+ brynq_sdk_nmbrs-2.3.1.dev0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.10.1)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,50 +0,0 @@
1
- brynq_sdk_nmbrs/__init__.py,sha256=O6SxqypTQcyz-CpgFu23RZWR5SekYirLn8iEydp9bAE,9836
2
- brynq_sdk_nmbrs/absence.py,sha256=xNzoDgw0Jj-JYS68lpwNzbrDy3BKsR-Iz-anlJW7YS0,4658
3
- brynq_sdk_nmbrs/address.py,sha256=FTzzs04tyNZNoysQ18lei137JXhvZUjYH8vS3Z5Nnk4,2325
4
- brynq_sdk_nmbrs/bank.py,sha256=2zZ9pCEdPkxvjqyyo0bfZw0JpJpzDBXZVNmO3lHjHGQ,4165
5
- brynq_sdk_nmbrs/children.py,sha256=hwgh3RKTs6oK6ztZ-TADXXK4Ekq_svo81D9aytCzkE4,3479
6
- brynq_sdk_nmbrs/companies.py,sha256=fqG9JERkaatkfzLFO3vC37rHr_W6pZ2DOeWS68b-TGc,3426
7
- brynq_sdk_nmbrs/contract.py,sha256=lccpAbhNjj4x45WOnF7h2LlBG5XCXelnis7WyPvJJrE,4527
8
- brynq_sdk_nmbrs/costcenter.py,sha256=gz7e486E9NqFXkqt50CctQ8DERC3pI2SPWsQWpIkHos,6087
9
- brynq_sdk_nmbrs/costunit.py,sha256=GGLwdCOYGU96Zr-zyG86rggzdsccH0IojfrPn5GanTI,3092
10
- brynq_sdk_nmbrs/days.py,sha256=T2ZdMCN1iE6WseX40Hn8-iNRCz47kWUuwNVRwQJX7TY,4534
11
- brynq_sdk_nmbrs/debtors.py,sha256=yig5Fdv9deyeoVwlGu8n5wwKdx7gZBDKtJLitQDAX98,785
12
- brynq_sdk_nmbrs/department.py,sha256=9Yk80w9lME5cN9FjtQ8_w0RDjqVwny54xDkI2FWmJ8M,4216
13
- brynq_sdk_nmbrs/document.py,sha256=Eb2mpsQRI1t5u0szUsc8YYI8tC_8ARW7wZUZRFA8RzQ,839
14
- brynq_sdk_nmbrs/employees.py,sha256=9ypKi7dFh5rqXL9mFJ2ltHci40idsk_sbuZjYfT_b_w,7517
15
- brynq_sdk_nmbrs/employment.py,sha256=P5EQhSAA6LOfeF2VeaAI8NZFTwSpD81ggJ9kUQp-WpE,3789
16
- brynq_sdk_nmbrs/function.py,sha256=bsafEcLglr2iT3jehbmGAme6-xI2ieOvaAueeVVT64I,3066
17
- brynq_sdk_nmbrs/hours.py,sha256=3pbl6IA8BBC6wrfTvkJha1LJi4SjrZCBINUANhuDvDQ,8140
18
- brynq_sdk_nmbrs/leave.py,sha256=Z17nPlRTVy_pqyInrbJNnF_83c8__Z207nh1aWVycCg,4515
19
- brynq_sdk_nmbrs/manager.py,sha256=wE2UJYPsKUN5jv3HmLpVAERcxcChwoMLfFgja8vxM6U,9441
20
- brynq_sdk_nmbrs/salaries.py,sha256=0VZgPwIl4YSeil7IUliPg8XFWloIQX2rBoWurSOLa9g,2910
21
- brynq_sdk_nmbrs/salary_tables.py,sha256=T7_bJE-CtRF08FWyLJnXm5Q3Q5Usozx4iCByqoTPOwo,9390
22
- brynq_sdk_nmbrs/schedules.py,sha256=jvi3aRdsgU_lalVWAcnfsfg8-g7J4m8pVW42HP-aExA,2928
23
- brynq_sdk_nmbrs/social_insurance.py,sha256=7sfgZeGDXGrvcsj8tTj7JaFK2fSOzVdtEjJ0wKRr2BI,1899
24
- brynq_sdk_nmbrs/wage_tax.py,sha256=NgqzEwzc_n28LtWhOM4EfHUo-vy-QwZA6wiL2n8LcdM,6241
25
- brynq_sdk_nmbrs/wagecomponents.py,sha256=nkk7HGlcdEx2K3VQ2G2zwLbNMFPNHQK4YwOEnFBtDj0,9539
26
- brynq_sdk_nmbrs/schemas/__init__.py,sha256=rwMb9AJSBXn_50SOa1rIvwOsCrtpj3vQxjXioxrxuyI,2301
27
- brynq_sdk_nmbrs/schemas/absence.py,sha256=f2ZDpy0qnyUyCjk2JjTNCazB_12lmP462MkI4eyf3ws,3320
28
- brynq_sdk_nmbrs/schemas/address.py,sha256=jgckNL5GhI23U0CS6VSs8vdl0pd4Goue57pIB8Mg6RU,4151
29
- brynq_sdk_nmbrs/schemas/bank.py,sha256=h5OtnD9DfJXfNeAoD9gm1434qXchbS6RPLKNRpxQ2RU,4537
30
- brynq_sdk_nmbrs/schemas/contracts.py,sha256=wb_NJyzKg7pjtWVelKj1_rfI57cs8jQ2QnMVu-aS_jI,3848
31
- brynq_sdk_nmbrs/schemas/costcenter.py,sha256=vB-cJCaLn57Gc7oAK2PTJvIpnz7zZkEX5ry0iJ_ZaX8,5328
32
- brynq_sdk_nmbrs/schemas/costunit.py,sha256=dH1nD9yuT94YamBz8phhuZ7E7AEuU4DmL6dXQYI8lu0,1854
33
- brynq_sdk_nmbrs/schemas/days.py,sha256=GJC9-ELfWCFVA7Z1vq4UANq8omFnPdeiowhjUu7-7a0,6952
34
- brynq_sdk_nmbrs/schemas/debtor.py,sha256=07FUL9MNKMfGKUifqeWSgQBTq1pVG5NB0OkaFgB9v88,721
35
- brynq_sdk_nmbrs/schemas/department.py,sha256=Rq88XAOIMNzojpHhb3awdV1ALlmkI_ZjMbiwXKSz6lY,3106
36
- brynq_sdk_nmbrs/schemas/employees.py,sha256=QblOZk4BCbXGoDW-kdAAykl-aLXzsBmfjewG_vU0qwg,11077
37
- brynq_sdk_nmbrs/schemas/employment.py,sha256=4KY0WEdZfJ-4x_loaZhBLoPYwQcA3k3TYuWRZj4PDxI,2678
38
- brynq_sdk_nmbrs/schemas/function.py,sha256=c0LkdAvyLr1_b9e7h7-2KD4v-YHtCKrm3x54Lc6V_sk,2503
39
- brynq_sdk_nmbrs/schemas/hours.py,sha256=CJOD3-NL80bh3nqIZ6DwoKQ0MGfe5ba84IXv0HsA_pA,8201
40
- brynq_sdk_nmbrs/schemas/leave.py,sha256=pofHHdYuPTS4hdFQbYQf2NbbYb4QlD3jI5CPGXSpNq8,3313
41
- brynq_sdk_nmbrs/schemas/manager.py,sha256=NT8Uh1yfoZQ9ODCZBkVUJ50QwQ5GtHNG6_Rx_EO674U,9310
42
- brynq_sdk_nmbrs/schemas/salary.py,sha256=pq-4hOB7QIo0BG8_Q_JnDbovPAhXOytfCpSuU_kXrGw,5511
43
- brynq_sdk_nmbrs/schemas/schedules.py,sha256=ITB4GAVNXyQLh0Ji_kJpdp1ZNGtYRlOTNHRvNiLg8wg,5481
44
- brynq_sdk_nmbrs/schemas/social_insurance.py,sha256=xJX7Duzcnu4vrKWIAan1iCUhNDtRflOLrIg7YBbtu70,2470
45
- brynq_sdk_nmbrs/schemas/wage_tax.py,sha256=ohbsc0zIHcZ-oj4vctxFA6XWIs0Wv9Uu4jUy7EP61ZU,7342
46
- brynq_sdk_nmbrs/schemas/wagecomponents.py,sha256=_t00-b22JEgihDdMMjwVw1mzCEnna55RnEZDYFwDZ1c,7769
47
- brynq_sdk_nmbrs-2.3.1.dist-info/METADATA,sha256=Q0gZCGo8Lx9WF_6Difmfx_ClIhndS-fEgNELrzp0hUo,529
48
- brynq_sdk_nmbrs-2.3.1.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
49
- brynq_sdk_nmbrs-2.3.1.dist-info/top_level.txt,sha256=LrSQFzIV7FP02jBHdBKubiCbIy0C_5YnTz3DSYYoQzg,16
50
- brynq_sdk_nmbrs-2.3.1.dist-info/RECORD,,