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.
- brynq_sdk_nmbrs/__init__.py +36 -22
- brynq_sdk_nmbrs/costcenter.py +53 -8
- brynq_sdk_nmbrs/costunit.py +16 -4
- brynq_sdk_nmbrs/department.py +36 -27
- brynq_sdk_nmbrs/employee_wage_tax_settings.py +106 -0
- brynq_sdk_nmbrs/employees.py +119 -24
- brynq_sdk_nmbrs/employment.py +12 -4
- brynq_sdk_nmbrs/salaries.py +5 -2
- brynq_sdk_nmbrs/schemas/address.py +4 -5
- brynq_sdk_nmbrs/schemas/bank.py +0 -2
- brynq_sdk_nmbrs/schemas/contracts.py +25 -11
- brynq_sdk_nmbrs/schemas/costcenter.py +57 -18
- brynq_sdk_nmbrs/schemas/costunit.py +0 -2
- brynq_sdk_nmbrs/schemas/days.py +0 -2
- brynq_sdk_nmbrs/schemas/department.py +8 -7
- brynq_sdk_nmbrs/schemas/employees.py +42 -38
- brynq_sdk_nmbrs/schemas/employment.py +10 -10
- brynq_sdk_nmbrs/schemas/function.py +6 -7
- brynq_sdk_nmbrs/schemas/hours.py +0 -4
- brynq_sdk_nmbrs/schemas/leave.py +0 -1
- brynq_sdk_nmbrs/schemas/manager.py +0 -3
- brynq_sdk_nmbrs/schemas/salary.py +19 -12
- brynq_sdk_nmbrs/schemas/schedules.py +0 -1
- brynq_sdk_nmbrs/schemas/wage_tax.py +4 -4
- brynq_sdk_nmbrs/schemas/wage_tax_settings.py +63 -0
- brynq_sdk_nmbrs/schemas/wagecomponents.py +0 -4
- brynq_sdk_nmbrs/wage_tax.py +1 -1
- {brynq_sdk_nmbrs-2.3.1.dist-info → brynq_sdk_nmbrs-2.3.1.dev0.dist-info}/METADATA +1 -1
- brynq_sdk_nmbrs-2.3.1.dev0.dist-info/RECORD +52 -0
- {brynq_sdk_nmbrs-2.3.1.dist-info → brynq_sdk_nmbrs-2.3.1.dev0.dist-info}/WHEEL +1 -1
- brynq_sdk_nmbrs-2.3.1.dist-info/RECORD +0 -50
- {brynq_sdk_nmbrs-2.3.1.dist-info → brynq_sdk_nmbrs-2.3.1.dev0.dist-info}/top_level.txt +0 -0
brynq_sdk_nmbrs/schemas/hours.py
CHANGED
|
@@ -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")
|
brynq_sdk_nmbrs/schemas/leave.py
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
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[
|
|
23
|
-
period_end: Series[
|
|
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[
|
|
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")
|
brynq_sdk_nmbrs/wage_tax.py
CHANGED
|
@@ -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.
|
|
97
|
+
response = self.soap_client_employees.service.WageTax_GetList(
|
|
98
98
|
EmployeeId=employee_id,
|
|
99
99
|
_soapheaders=[auth_header]
|
|
100
100
|
)
|
|
@@ -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,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,,
|
|
File without changes
|