brynq-sdk-nmbrs 2.3.4.dev0__py3-none-any.whl → 2.4.5__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 +95 -91
- brynq_sdk_nmbrs/absence.py +1 -4
- brynq_sdk_nmbrs/address.py +5 -81
- brynq_sdk_nmbrs/bank.py +1 -2
- brynq_sdk_nmbrs/companies.py +130 -39
- brynq_sdk_nmbrs/contract.py +0 -1
- brynq_sdk_nmbrs/days.py +1 -1
- brynq_sdk_nmbrs/debtors.py +53 -65
- brynq_sdk_nmbrs/department.py +23 -111
- brynq_sdk_nmbrs/document.py +195 -4
- brynq_sdk_nmbrs/employee_wage_tax_settings.py +13 -5
- brynq_sdk_nmbrs/employees.py +55 -21
- brynq_sdk_nmbrs/employment.py +0 -2
- brynq_sdk_nmbrs/extra_fields.py +126 -0
- brynq_sdk_nmbrs/function.py +35 -97
- brynq_sdk_nmbrs/leave.py +53 -58
- brynq_sdk_nmbrs/manager.py +51 -35
- brynq_sdk_nmbrs/salaries.py +48 -65
- brynq_sdk_nmbrs/salary_tables.py +1 -4
- brynq_sdk_nmbrs/schedules.py +5 -78
- brynq_sdk_nmbrs/schemas/absence.py +26 -16
- brynq_sdk_nmbrs/schemas/address.py +2 -29
- brynq_sdk_nmbrs/schemas/children.py +0 -2
- brynq_sdk_nmbrs/schemas/contracts.py +7 -6
- brynq_sdk_nmbrs/schemas/costcenter.py +2 -2
- brynq_sdk_nmbrs/schemas/costunit.py +2 -0
- brynq_sdk_nmbrs/schemas/days.py +13 -11
- brynq_sdk_nmbrs/schemas/debtor.py +6 -28
- brynq_sdk_nmbrs/schemas/department.py +5 -39
- brynq_sdk_nmbrs/schemas/document.py +0 -2
- brynq_sdk_nmbrs/schemas/employee_wage_tax_settings.py +75 -0
- brynq_sdk_nmbrs/schemas/employees.py +2 -0
- brynq_sdk_nmbrs/schemas/extra_fields.py +56 -0
- brynq_sdk_nmbrs/schemas/function.py +5 -32
- brynq_sdk_nmbrs/schemas/hours.py +5 -1
- brynq_sdk_nmbrs/schemas/leave.py +17 -6
- brynq_sdk_nmbrs/schemas/manager.py +11 -20
- brynq_sdk_nmbrs/schemas/salary.py +11 -1
- brynq_sdk_nmbrs/schemas/schedules.py +2 -54
- brynq_sdk_nmbrs/schemas/svw_settings.py +116 -0
- brynq_sdk_nmbrs/schemas/wage_tax.py +53 -21
- brynq_sdk_nmbrs/schemas/wagecomponents.py +6 -9
- brynq_sdk_nmbrs/svw_settings.py +213 -0
- brynq_sdk_nmbrs/wage_tax.py +120 -11
- {brynq_sdk_nmbrs-2.3.4.dev0.dist-info → brynq_sdk_nmbrs-2.4.5.dist-info}/METADATA +1 -1
- brynq_sdk_nmbrs-2.4.5.dist-info/RECORD +58 -0
- brynq_sdk_nmbrs/schemas/social_insurance.py +0 -73
- brynq_sdk_nmbrs/social_insurance.py +0 -130
- brynq_sdk_nmbrs-2.3.4.dev0.dist-info/RECORD +0 -55
- {brynq_sdk_nmbrs-2.3.4.dev0.dist-info → brynq_sdk_nmbrs-2.4.5.dist-info}/WHEEL +0 -0
- {brynq_sdk_nmbrs-2.3.4.dev0.dist-info → brynq_sdk_nmbrs-2.4.5.dist-info}/top_level.txt +0 -0
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import pandas as pd
|
|
2
|
-
import pandera as pa
|
|
3
|
-
from pandera import Bool
|
|
4
|
-
from pandera.typing import Series, String, DateTime
|
|
5
|
-
from brynq_sdk_functions import BrynQPanderaDataFrameModel
|
|
6
|
-
from typing import Optional
|
|
7
|
-
from pydantic import BaseModel, Field
|
|
8
|
-
|
|
9
|
-
# ---------------------------
|
|
10
|
-
# Get Schemas
|
|
11
|
-
# ---------------------------
|
|
12
|
-
class SocialInsuranceGet(BrynQPanderaDataFrameModel):
|
|
13
|
-
employee_id: Series[String] = pa.Field(coerce=True, description="Employee ID", alias="employee_id")
|
|
14
|
-
id: Series[String] = pa.Field(coerce=True, description="SVW Settings ID", alias="Id")
|
|
15
|
-
creation_date: Series[DateTime] = pa.Field(coerce=True, nullable=True, description="Creation Date", alias="CreationDate")
|
|
16
|
-
start_period: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Start Period", alias="StartPeriod")
|
|
17
|
-
start_year: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Start Year", alias="StartYear")
|
|
18
|
-
influence_obliged_insurance: Series[Bool] = pa.Field(coerce=True, nullable=True, description="Whether employee influences obligatory insurance status", alias="InfluenceObligedInsurance")
|
|
19
|
-
wage_cost_benefit: Series[Bool] = pa.Field(coerce=True, nullable=True, description="Eligible for wage cost subsidy (LKV - Loonkostenvoordeel)", alias="WageCostBenefit")
|
|
20
|
-
cao: Series[String] = pa.Field(coerce=True, nullable=True, description="Collectieve Arbeidsovereenkomst (Collective Labor Agreement)", alias="CAO")
|
|
21
|
-
wao_wia: Series[Bool] = pa.Field(coerce=True, nullable=True, description="Disability Insurance (WAO/WIA - Wet Arbeidsongeschiktheid)", alias="Wao_Wia")
|
|
22
|
-
ww: Series[Bool] = pa.Field(coerce=True, nullable=True, description="Unemployment Insurance (WW - Werkloosheidswet)", alias="Ww")
|
|
23
|
-
zw: Series[Bool] = pa.Field(coerce=True, nullable=True, description="Sickness Benefits (ZW - Ziektewet)", alias="Zw")
|
|
24
|
-
income_related_contribution_zvw: Series[Bool] = pa.Field(coerce=True, nullable=True, description="Income Related Health Insurance Contribution (ZVW - Zorgverzekeringswet)", alias="IncomeRelatedContributionZvw")
|
|
25
|
-
code_zvw: Series[String] = pa.Field(coerce=True, nullable=True, description="Health Insurance Code (ZVW)", alias="CodeZvw")
|
|
26
|
-
risk_group: Series[String] = pa.Field(coerce=True, nullable=True, description="Risk Group for premium calculation", alias="RiskGroup")
|
|
27
|
-
sector: Series[String] = pa.Field(coerce=True, nullable=True, description="Industry Sector code", alias="Sector")
|
|
28
|
-
employment_type: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Employment Type", alias="EmploymentType")
|
|
29
|
-
phase_classification: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Phase Classification", alias="PhaseClassification")
|
|
30
|
-
employment_sequence_tax_id: Series[pd.Int64Dtype] = pa.Field(coerce=True, nullable=True, description="Employment Sequence Tax ID", alias="EmploymentSequenceTaxId")
|
|
31
|
-
|
|
32
|
-
class _Annotation:
|
|
33
|
-
primary_key = "id"
|
|
34
|
-
foreign_keys = {
|
|
35
|
-
"employee_id": {
|
|
36
|
-
"parent_schema": "EmployeeSchema",
|
|
37
|
-
"parent_column": "employee_id",
|
|
38
|
-
"cardinality": "N:1"
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
# ---------------------------
|
|
43
|
-
# Upload Schemas
|
|
44
|
-
# ---------------------------
|
|
45
|
-
class SocialInsuranceUpdate(BaseModel):
|
|
46
|
-
employee_id: int = Field(None, example="1234567890", description="Employee ID", alias="EmployeeId")
|
|
47
|
-
influence_obliged_insurance: Optional[bool] = Field(None, example="1234567890", description="Influence Obliged Insurance", alias="InfluenceObligedInsurance")
|
|
48
|
-
wage_cost_benefit: bool = Field(..., example="1234567890", description="Wage Cost Benefit", alias="WageCostBenefit")
|
|
49
|
-
code_cao: int = Field(..., example="1234567890", description="Code Cao", alias="CodeCao")
|
|
50
|
-
wao_wia: bool = Field(..., example="1234567890", description="Wao Wia", alias="Wao_Wia")
|
|
51
|
-
ww: bool = Field(..., example="1234567890", description="Ww", alias="Ww")
|
|
52
|
-
zw: bool = Field(..., example="1234567890", description="Zw", alias="Zw")
|
|
53
|
-
income_related_contribution_zvw: bool = Field(None, example="1234567890", description="Income Related Contribution Zvw", alias="IncomeRelatedContributionZvw")
|
|
54
|
-
code_zvw: Optional[int] = Field(None, example="1234567890", description="Code Zvw", alias="CodeZvw")
|
|
55
|
-
risk_group: int = Field(None, example="1234567890", description="Risk Group", alias="RiskGroup")
|
|
56
|
-
sector: int = Field(None, example="1234567890", description="Sector", alias="Sector")
|
|
57
|
-
employment_type: int = Field(None, example="1234567890", description="Employment Type", alias="EmploymentType")
|
|
58
|
-
phase_classification: int = Field(None, example="1234567890", description="Phase Classification", alias="PhaseClassification")
|
|
59
|
-
employment_sequence_tax_id: int = Field(None, example="1234567890", description="Employment Sequence Tax Id", alias="EmploymentSequenceTaxId")
|
|
60
|
-
|
|
61
|
-
def to_soap_settings(self, soap_client):
|
|
62
|
-
"""Convert to SOAP SVWSettings object"""
|
|
63
|
-
SVWSettingsType = soap_client.get_type(
|
|
64
|
-
'{https://api.nmbrs.nl/soap/v3/EmployeeService}SVWSettings'
|
|
65
|
-
)
|
|
66
|
-
|
|
67
|
-
# Get payload with alias renaming, excluding employee_id field
|
|
68
|
-
payload = self.model_dump(exclude_none=True, by_alias=True, exclude={'employee_id'})
|
|
69
|
-
|
|
70
|
-
return SVWSettingsType(**payload)
|
|
71
|
-
|
|
72
|
-
class Config:
|
|
73
|
-
populate_by_name = True
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
from typing import Any, Dict, Union, Tuple
|
|
2
|
-
import pandas as pd
|
|
3
|
-
|
|
4
|
-
from .schemas.social_insurance import SocialInsuranceUpdate, SocialInsuranceGet
|
|
5
|
-
from zeep.exceptions import Fault
|
|
6
|
-
from zeep.helpers import serialize_object
|
|
7
|
-
from brynq_sdk_functions import Functions
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class SocialInsurance:
|
|
11
|
-
def __init__(self, nmbrs):
|
|
12
|
-
self.nmbrs = nmbrs
|
|
13
|
-
self.soap_client_employees = nmbrs.soap_client_employees
|
|
14
|
-
|
|
15
|
-
def get(self, employee_id: Union[int, str]) -> Tuple[pd.DataFrame, pd.DataFrame]:
|
|
16
|
-
"""
|
|
17
|
-
Get current social insurance settings for an employee.
|
|
18
|
-
|
|
19
|
-
Args:
|
|
20
|
-
employee_id: The ID of the employee
|
|
21
|
-
|
|
22
|
-
Returns:
|
|
23
|
-
Tuple of (valid_data, invalid_data) DataFrames
|
|
24
|
-
"""
|
|
25
|
-
if self.nmbrs.mock_mode:
|
|
26
|
-
return pd.DataFrame(), pd.DataFrame()
|
|
27
|
-
|
|
28
|
-
try:
|
|
29
|
-
response = self.nmbrs.soap_client_employees.service.SVW_GetCurrent(
|
|
30
|
-
EmployeeId=int(employee_id),
|
|
31
|
-
_soapheaders={'AuthHeaderWithDomain': self.nmbrs.soap_auth_header_employees}
|
|
32
|
-
)
|
|
33
|
-
|
|
34
|
-
if response:
|
|
35
|
-
serialized_response = serialize_object(response)
|
|
36
|
-
if not isinstance(serialized_response, list):
|
|
37
|
-
serialized_response = [serialized_response]
|
|
38
|
-
df = pd.DataFrame(serialized_response)
|
|
39
|
-
df['employee_id'] = str(employee_id)
|
|
40
|
-
|
|
41
|
-
valid_data, invalid_data = Functions.validate_data(df=df, schema=SocialInsuranceGet, debug=True)
|
|
42
|
-
return valid_data, invalid_data
|
|
43
|
-
else:
|
|
44
|
-
return pd.DataFrame(), pd.DataFrame()
|
|
45
|
-
|
|
46
|
-
except Fault as e:
|
|
47
|
-
raise Exception(f"SOAP request failed: {str(e)}")
|
|
48
|
-
except Exception as e:
|
|
49
|
-
raise Exception(f"Failed to get Social Insurance: {str(e)}")
|
|
50
|
-
|
|
51
|
-
def get_all_by_company(self, company_id: Union[int, str]) -> Tuple[pd.DataFrame, pd.DataFrame]:
|
|
52
|
-
"""
|
|
53
|
-
Get all social insurance settings for all employees in a company.
|
|
54
|
-
|
|
55
|
-
Args:
|
|
56
|
-
company_id: The ID of the company
|
|
57
|
-
|
|
58
|
-
Returns:
|
|
59
|
-
Tuple of (valid_data, invalid_data) DataFrames
|
|
60
|
-
"""
|
|
61
|
-
if self.nmbrs.mock_mode:
|
|
62
|
-
return pd.DataFrame(), pd.DataFrame()
|
|
63
|
-
|
|
64
|
-
try:
|
|
65
|
-
response = self.nmbrs.soap_client_employees.service.SVW_GetAll_AllEmployeesByCompany(
|
|
66
|
-
CompanyID=int(company_id),
|
|
67
|
-
_soapheaders={'AuthHeaderWithDomain': self.nmbrs.soap_auth_header_employees}
|
|
68
|
-
)
|
|
69
|
-
|
|
70
|
-
if response:
|
|
71
|
-
all_data = []
|
|
72
|
-
for emp in response:
|
|
73
|
-
emp_id = emp.EmployeeId
|
|
74
|
-
if emp.EmployeeSVWSettings and emp.EmployeeSVWSettings.EmployeeSVWSettings:
|
|
75
|
-
for svw in emp.EmployeeSVWSettings.EmployeeSVWSettings:
|
|
76
|
-
svw_data = serialize_object(svw)
|
|
77
|
-
svw_data['employee_id'] = str(emp_id)
|
|
78
|
-
all_data.append(svw_data)
|
|
79
|
-
|
|
80
|
-
if all_data:
|
|
81
|
-
df = pd.DataFrame(all_data)
|
|
82
|
-
valid_data, invalid_data = Functions.validate_data(df=df, schema=SocialInsuranceGet, debug=True)
|
|
83
|
-
return valid_data, invalid_data
|
|
84
|
-
else:
|
|
85
|
-
return pd.DataFrame(), pd.DataFrame()
|
|
86
|
-
else:
|
|
87
|
-
return pd.DataFrame(), pd.DataFrame()
|
|
88
|
-
|
|
89
|
-
except Fault as e:
|
|
90
|
-
raise Exception(f"SOAP request failed: {str(e)}")
|
|
91
|
-
except Exception as e:
|
|
92
|
-
raise Exception(f"Failed to get Social Insurance for company: {str(e)}")
|
|
93
|
-
|
|
94
|
-
def update(self, data: Dict[str, Any]) -> pd.DataFrame:
|
|
95
|
-
try:
|
|
96
|
-
social_insurance_model = SocialInsuranceUpdate(**data)
|
|
97
|
-
|
|
98
|
-
if self.nmbrs.mock_mode:
|
|
99
|
-
return social_insurance_model
|
|
100
|
-
|
|
101
|
-
# Use the model's built-in SOAP conversion method
|
|
102
|
-
social_insurance_settings = social_insurance_model.to_soap_settings(self.nmbrs.soap_client_employees)
|
|
103
|
-
|
|
104
|
-
# Make SOAP request with clean, simple call
|
|
105
|
-
response = self.nmbrs.soap_client_employees.service.SVW_UpdateCurrent(
|
|
106
|
-
EmployeeId=social_insurance_model.employee_id,
|
|
107
|
-
SVWSettings=social_insurance_settings,
|
|
108
|
-
_soapheaders=[self.nmbrs.soap_auth_header]
|
|
109
|
-
)
|
|
110
|
-
|
|
111
|
-
# Convert response to DataFrame
|
|
112
|
-
if response:
|
|
113
|
-
# Convert Zeep objects to Python dictionaries
|
|
114
|
-
serialized_response = serialize_object(response)
|
|
115
|
-
|
|
116
|
-
# Convert to list if it's not already
|
|
117
|
-
if not isinstance(serialized_response, list):
|
|
118
|
-
serialized_response = [serialized_response]
|
|
119
|
-
|
|
120
|
-
# Convert to DataFrame
|
|
121
|
-
df = pd.DataFrame(serialized_response)
|
|
122
|
-
|
|
123
|
-
return df
|
|
124
|
-
else:
|
|
125
|
-
return pd.DataFrame()
|
|
126
|
-
|
|
127
|
-
except Fault as e:
|
|
128
|
-
raise Exception(f"SOAP request failed: {str(e)}")
|
|
129
|
-
except Exception as e:
|
|
130
|
-
raise Exception(f"Failed to update Social Insurance: {str(e)}")
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
brynq_sdk_nmbrs/__init__.py,sha256=nLoRHD7jH2z521_hyeG0uMPEAvpz-BFQ1nUmgWWwRJI,10889
|
|
2
|
-
brynq_sdk_nmbrs/absence.py,sha256=xNzoDgw0Jj-JYS68lpwNzbrDy3BKsR-Iz-anlJW7YS0,4658
|
|
3
|
-
brynq_sdk_nmbrs/address.py,sha256=x_AmaNPp-rjsHie2i6EfiC5hYoZQbJxiLYB7-REvEyg,5427
|
|
4
|
-
brynq_sdk_nmbrs/bank.py,sha256=_XRQMBgSovaaLhx_lIaFDtGOeBtRbZ4skaXgtbck3lc,4168
|
|
5
|
-
brynq_sdk_nmbrs/children.py,sha256=jlA8R0fLTwq53TTYZQPar01iZWtZgGiDnZxdIELXKGc,4377
|
|
6
|
-
brynq_sdk_nmbrs/companies.py,sha256=e4I6mjItbuQN-ZeEe1I4HD-4x3lW5brTAc0C6fMEloQ,5243
|
|
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=5YRqi3n6XoI3ccubRt6AnEj80oAGsAJjUlss_dwZxVo,3274
|
|
12
|
-
brynq_sdk_nmbrs/department.py,sha256=uhV-ZlnfcrhhZznXYiWSoySRynE73AW5XuD7CWYEqNM,8324
|
|
13
|
-
brynq_sdk_nmbrs/document.py,sha256=9t1l9oN2k6xZj0OkhBRjvVijGTuQNM_5o5AyYloJvY8,2539
|
|
14
|
-
brynq_sdk_nmbrs/employee_wage_tax_settings.py,sha256=mFFZ8ltivztBOSLG-V_bfJgaxMVLefr6syfBHZQLmfQ,4031
|
|
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=QuDHrgVy_KNP2rM6L53MXKYJsr5FZlb8vwTcW3AM6P8,7379
|
|
18
|
-
brynq_sdk_nmbrs/hours.py,sha256=3pbl6IA8BBC6wrfTvkJha1LJi4SjrZCBINUANhuDvDQ,8140
|
|
19
|
-
brynq_sdk_nmbrs/leave.py,sha256=XL3xXNUmkjpbvoXjY42m4uLm4rfB4WsvU0WDP2t88N8,8270
|
|
20
|
-
brynq_sdk_nmbrs/manager.py,sha256=wE2UJYPsKUN5jv3HmLpVAERcxcChwoMLfFgja8vxM6U,9441
|
|
21
|
-
brynq_sdk_nmbrs/salaries.py,sha256=zGKPrkvm1672gYR7aVwXUnLP3AbyoUhWn2TGZANLggA,5500
|
|
22
|
-
brynq_sdk_nmbrs/salary_tables.py,sha256=T7_bJE-CtRF08FWyLJnXm5Q3Q5Usozx4iCByqoTPOwo,9390
|
|
23
|
-
brynq_sdk_nmbrs/schedules.py,sha256=vXJ3iZ3BatosL3V_v7UlABrTJVmXXpgSItCrxrCfDXc,5714
|
|
24
|
-
brynq_sdk_nmbrs/social_insurance.py,sha256=4hmuXoeHGl2LUhXwtRL2KMXFu9iyrUgsYHTgUAINMSA,5105
|
|
25
|
-
brynq_sdk_nmbrs/wage_tax.py,sha256=ukNV-BxOHiwPm0ktYdvuul-S6RZuJWHN34RpAdV1rH4,9554
|
|
26
|
-
brynq_sdk_nmbrs/wagecomponents.py,sha256=fr9FpRMyB9yxQTT2t_5_Aa9_CdjqN9erj0ZseaGJjkM,11611
|
|
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=Wd_Jq8bEOpKYSHMoDgG0P6fme8SRmQVK9h3zkSYsDlE,5767
|
|
30
|
-
brynq_sdk_nmbrs/schemas/bank.py,sha256=QWMGevA4TKju8i20kAwEaV3FW7tpG4vjo0XTQvX90pw,4359
|
|
31
|
-
brynq_sdk_nmbrs/schemas/children.py,sha256=Vae7v2XPKwGQh3Oiz8cg-N0nbnTxDGVzMjOA7cKzFCY,3293
|
|
32
|
-
brynq_sdk_nmbrs/schemas/company.py,sha256=utYRXj_ch-RmI-AIShTqPj-LpdftEc8seHzkHZbxgew,1049
|
|
33
|
-
brynq_sdk_nmbrs/schemas/contracts.py,sha256=g5Wcn6QGhc95ZIyySSECiyMKJ_lUoeQgfa8rb-30ms0,4138
|
|
34
|
-
brynq_sdk_nmbrs/schemas/costcenter.py,sha256=YYuHr_9eNxM3pRXLYEBT4CU8KCleyJO9O-2d-_91AME,6961
|
|
35
|
-
brynq_sdk_nmbrs/schemas/costunit.py,sha256=WsICBZz2xliPoRyl1qT61AzcHE0o2ytmQLWCTmTSHww,1682
|
|
36
|
-
brynq_sdk_nmbrs/schemas/days.py,sha256=rLMETxP9yYD7mBX2pZDK9IJs4w16ejuwZ0tBip9bY6Q,6774
|
|
37
|
-
brynq_sdk_nmbrs/schemas/debtor.py,sha256=iCrVgSvwn0qXLGsEDlthmCznO_a2SsDWIV6ipsZmjZw,1608
|
|
38
|
-
brynq_sdk_nmbrs/schemas/department.py,sha256=Rhm-vTq5QdvMZeCrsgTF3hvzo1IC76MT4f2Gi8nK5qk,4475
|
|
39
|
-
brynq_sdk_nmbrs/schemas/document.py,sha256=RXTWQqoURv1G25foLtjcmWxcbFjneiuzlKjLcgGV_2E,598
|
|
40
|
-
brynq_sdk_nmbrs/schemas/employees.py,sha256=23bIe7KJIiVGrNSzDnUZIpNd5JVRxWS1x9V8qqMj7ms,11327
|
|
41
|
-
brynq_sdk_nmbrs/schemas/employment.py,sha256=cAZ5hfn01ipv3gTB3cSVRYKBBoeXSbE2K8L5nu0T2QY,2489
|
|
42
|
-
brynq_sdk_nmbrs/schemas/function.py,sha256=fPtF1yYJ_UMTx0ZTT2I3vBMW430doD3oi0HZ892shh8,3427
|
|
43
|
-
brynq_sdk_nmbrs/schemas/hours.py,sha256=dwH7_Dn0atztYHh35UzEX2i6e1Jr8ltZun_zsAXbbRw,7845
|
|
44
|
-
brynq_sdk_nmbrs/schemas/leave.py,sha256=IGV_n3lIeMQ5m9jV9ew2dz-F0oaN_BQBuiQ8h2tQ3ss,3893
|
|
45
|
-
brynq_sdk_nmbrs/schemas/manager.py,sha256=X6YdhSU2tqpTyjZzTaluPREBUqzskROwjuXvVg2OPyM,9176
|
|
46
|
-
brynq_sdk_nmbrs/schemas/salary.py,sha256=2dU9Pj1FM_4mGJEZAAsU1-6z6Wkjhc_cyjuN5Gdok_s,6168
|
|
47
|
-
brynq_sdk_nmbrs/schemas/schedules.py,sha256=ycS3Gb7ozqXro-56I1jQqaI_EP4fDPLRGYKkOdL06vI,10068
|
|
48
|
-
brynq_sdk_nmbrs/schemas/social_insurance.py,sha256=Bmxzas6rFZ5j127GtvixsZJWv0PAucVZ_m73p_THryo,5377
|
|
49
|
-
brynq_sdk_nmbrs/schemas/wage_tax.py,sha256=5BKZCwy6pZGyNRiPftN53bkLkUZkAIHcPice6aJsOmo,12122
|
|
50
|
-
brynq_sdk_nmbrs/schemas/wage_tax_settings.py,sha256=LkZqNff4Eo79HdwB-o9fYwpZh-fqBccf_DnHWkWNRRM,5705
|
|
51
|
-
brynq_sdk_nmbrs/schemas/wagecomponents.py,sha256=_l9KlS1z_-L3rHVrl2Q-rYMUcWJmv-DUx3P4Anm6Ans,9711
|
|
52
|
-
brynq_sdk_nmbrs-2.3.4.dev0.dist-info/METADATA,sha256=_W8lsNDqbqkyJa0DY1M68yON-gjGcKPgsa_lSwtLSlE,534
|
|
53
|
-
brynq_sdk_nmbrs-2.3.4.dev0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
54
|
-
brynq_sdk_nmbrs-2.3.4.dev0.dist-info/top_level.txt,sha256=LrSQFzIV7FP02jBHdBKubiCbIy0C_5YnTz3DSYYoQzg,16
|
|
55
|
-
brynq_sdk_nmbrs-2.3.4.dev0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|