brynq-sdk-nmbrs 2.3.3.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.
Files changed (51) hide show
  1. brynq_sdk_nmbrs/__init__.py +95 -91
  2. brynq_sdk_nmbrs/absence.py +1 -4
  3. brynq_sdk_nmbrs/address.py +5 -81
  4. brynq_sdk_nmbrs/bank.py +1 -2
  5. brynq_sdk_nmbrs/companies.py +130 -39
  6. brynq_sdk_nmbrs/contract.py +0 -1
  7. brynq_sdk_nmbrs/days.py +1 -1
  8. brynq_sdk_nmbrs/debtors.py +53 -65
  9. brynq_sdk_nmbrs/department.py +23 -111
  10. brynq_sdk_nmbrs/document.py +195 -4
  11. brynq_sdk_nmbrs/employee_wage_tax_settings.py +13 -5
  12. brynq_sdk_nmbrs/employees.py +55 -21
  13. brynq_sdk_nmbrs/employment.py +0 -2
  14. brynq_sdk_nmbrs/extra_fields.py +126 -0
  15. brynq_sdk_nmbrs/function.py +35 -97
  16. brynq_sdk_nmbrs/leave.py +53 -58
  17. brynq_sdk_nmbrs/manager.py +51 -35
  18. brynq_sdk_nmbrs/salaries.py +48 -65
  19. brynq_sdk_nmbrs/salary_tables.py +1 -4
  20. brynq_sdk_nmbrs/schedules.py +5 -78
  21. brynq_sdk_nmbrs/schemas/absence.py +26 -16
  22. brynq_sdk_nmbrs/schemas/address.py +2 -29
  23. brynq_sdk_nmbrs/schemas/children.py +0 -2
  24. brynq_sdk_nmbrs/schemas/contracts.py +7 -6
  25. brynq_sdk_nmbrs/schemas/costcenter.py +2 -2
  26. brynq_sdk_nmbrs/schemas/costunit.py +2 -0
  27. brynq_sdk_nmbrs/schemas/days.py +13 -11
  28. brynq_sdk_nmbrs/schemas/debtor.py +6 -28
  29. brynq_sdk_nmbrs/schemas/department.py +5 -39
  30. brynq_sdk_nmbrs/schemas/document.py +0 -2
  31. brynq_sdk_nmbrs/schemas/employee_wage_tax_settings.py +75 -0
  32. brynq_sdk_nmbrs/schemas/employees.py +2 -0
  33. brynq_sdk_nmbrs/schemas/extra_fields.py +56 -0
  34. brynq_sdk_nmbrs/schemas/function.py +5 -32
  35. brynq_sdk_nmbrs/schemas/hours.py +5 -1
  36. brynq_sdk_nmbrs/schemas/leave.py +17 -6
  37. brynq_sdk_nmbrs/schemas/manager.py +16 -24
  38. brynq_sdk_nmbrs/schemas/salary.py +11 -1
  39. brynq_sdk_nmbrs/schemas/schedules.py +2 -54
  40. brynq_sdk_nmbrs/schemas/svw_settings.py +116 -0
  41. brynq_sdk_nmbrs/schemas/wage_tax.py +53 -21
  42. brynq_sdk_nmbrs/schemas/wagecomponents.py +6 -9
  43. brynq_sdk_nmbrs/svw_settings.py +213 -0
  44. brynq_sdk_nmbrs/wage_tax.py +120 -11
  45. {brynq_sdk_nmbrs-2.3.3.dev0.dist-info → brynq_sdk_nmbrs-2.4.5.dist-info}/METADATA +1 -1
  46. brynq_sdk_nmbrs-2.4.5.dist-info/RECORD +58 -0
  47. {brynq_sdk_nmbrs-2.3.3.dev0.dist-info → brynq_sdk_nmbrs-2.4.5.dist-info}/WHEEL +1 -1
  48. brynq_sdk_nmbrs/schemas/social_insurance.py +0 -73
  49. brynq_sdk_nmbrs/social_insurance.py +0 -130
  50. brynq_sdk_nmbrs-2.3.3.dev0.dist-info/RECORD +0 -55
  51. {brynq_sdk_nmbrs-2.3.3.dev0.dist-info → brynq_sdk_nmbrs-2.4.5.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,58 @@
1
+ brynq_sdk_nmbrs/__init__.py,sha256=vHELEKNS-XlfKpO_dfhvzcdsP1m7hfdokSgWleeD0vk,10788
2
+ brynq_sdk_nmbrs/absence.py,sha256=2hp43CkQjftfalv2aCW2LmNg4NIfc2AdchW_BkGCWIY,4540
3
+ brynq_sdk_nmbrs/address.py,sha256=aWQHtbC7d4uxUGFpl-82AXd4vHQ4Lv6UKcNj2cnepn4,2321
4
+ brynq_sdk_nmbrs/bank.py,sha256=xRUFs2vqos-Rnz178RqyaFUojM3sABECrtOkDGDcfvE,4151
5
+ brynq_sdk_nmbrs/children.py,sha256=jlA8R0fLTwq53TTYZQPar01iZWtZgGiDnZxdIELXKGc,4377
6
+ brynq_sdk_nmbrs/companies.py,sha256=e-yCJwowNNmD1EuKSzbDaUx2t2s8ADdBqIUDikgydns,7420
7
+ brynq_sdk_nmbrs/contract.py,sha256=khvp00937IFpdofTxzlXgKKYG7-qc8aD79dWzCqwv8U,4515
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=Kf2QUCLRaiNt6TW969kPDvWDoNuDficq91aUIXUQiQM,4520
11
+ brynq_sdk_nmbrs/debtors.py,sha256=opyErogL8w2CkDukLzf4M1CJm28cHm6qz3h2Z4iRvNU,2383
12
+ brynq_sdk_nmbrs/department.py,sha256=95pvHvg69F15IBK71ARkZ9x2SEOXe6l1V9qh5Ink1Uo,5104
13
+ brynq_sdk_nmbrs/document.py,sha256=Sm3nB-trcsb7BZZNS9VgL9iRRNHZTmYtenJG_pv-FRA,8444
14
+ brynq_sdk_nmbrs/employee_wage_tax_settings.py,sha256=q-xjAitkfSiBbYQXc-kfCAS6u5NFh4q_Gju5-S9H0pM,4410
15
+ brynq_sdk_nmbrs/employees.py,sha256=633QFA5PqZzk8f0R9-CKbiO3PcwLSVIjdAenVFHrLI8,12108
16
+ brynq_sdk_nmbrs/employment.py,sha256=_UDuxJ45GYiW6fHoVjal0wefcdxpRHVt4mZNHayLC8Q,3805
17
+ brynq_sdk_nmbrs/extra_fields.py,sha256=rfsAlKS_6WFR0oTTIoDBGBhRzij2MgmMC9c5CsBIG9g,3727
18
+ brynq_sdk_nmbrs/function.py,sha256=idV39DoVcYUfWTwTEUaFO01kqe6P3qKDelXwdDtOEg4,5031
19
+ brynq_sdk_nmbrs/hours.py,sha256=3pbl6IA8BBC6wrfTvkJha1LJi4SjrZCBINUANhuDvDQ,8140
20
+ brynq_sdk_nmbrs/leave.py,sha256=WuZgFSCFEg9QyeFwtVjH2L2J0yHCd9HWzXZkPuNXUKk,7115
21
+ brynq_sdk_nmbrs/manager.py,sha256=Q7BPYKR-j78of5eYKawyQKsYJBmutwYMJbL9XAECpmg,9875
22
+ brynq_sdk_nmbrs/salaries.py,sha256=JtFW8wjkRyUo0-7t7cEmXh-Almot2aLTzkFttnZDnLY,4828
23
+ brynq_sdk_nmbrs/salary_tables.py,sha256=lkb2hyhhItoJr1AZOE-LeHuzvmxooygnlxpGuCpihb8,9272
24
+ brynq_sdk_nmbrs/schedules.py,sha256=KvWziqLawaR0FS1M0snaDtaHHRYITtHpWypv_Ur0nUg,2879
25
+ brynq_sdk_nmbrs/svw_settings.py,sha256=k8P3OsdCIQKGu9vOII6wDN9z2zIAbXJVgOeWWy71MmY,7286
26
+ brynq_sdk_nmbrs/wage_tax.py,sha256=baGyOjCk7_vd0rwhfH4Jblezt_wXjxb_ASrwTp4wARs,12782
27
+ brynq_sdk_nmbrs/wagecomponents.py,sha256=fr9FpRMyB9yxQTT2t_5_Aa9_CdjqN9erj0ZseaGJjkM,11611
28
+ brynq_sdk_nmbrs/schemas/__init__.py,sha256=rwMb9AJSBXn_50SOa1rIvwOsCrtpj3vQxjXioxrxuyI,2301
29
+ brynq_sdk_nmbrs/schemas/absence.py,sha256=vVZl3uSeZ7t792Xpl6H_3XkcTCx8ELWaAJSn67l8HQ0,3881
30
+ brynq_sdk_nmbrs/schemas/address.py,sha256=gR0k1WV_i3Y1w-qiMy1JBuWzIFo6py1qk1E_y8Dx3_o,4104
31
+ brynq_sdk_nmbrs/schemas/bank.py,sha256=QWMGevA4TKju8i20kAwEaV3FW7tpG4vjo0XTQvX90pw,4359
32
+ brynq_sdk_nmbrs/schemas/children.py,sha256=3VDb-Y2SGTmmDmDxBhHKhZ8iKdex51Jal5GfdOzea1c,3248
33
+ brynq_sdk_nmbrs/schemas/company.py,sha256=utYRXj_ch-RmI-AIShTqPj-LpdftEc8seHzkHZbxgew,1049
34
+ brynq_sdk_nmbrs/schemas/contracts.py,sha256=68HJGhUcmvHEPwf_FWm2DOfwYcExTEW42kfSqkwJbrg,4081
35
+ brynq_sdk_nmbrs/schemas/costcenter.py,sha256=_oggO9rpubxRaZOGcTE1zb8hCuPkeXgupz-iHuXAZcI,7131
36
+ brynq_sdk_nmbrs/schemas/costunit.py,sha256=dH1nD9yuT94YamBz8phhuZ7E7AEuU4DmL6dXQYI8lu0,1854
37
+ brynq_sdk_nmbrs/schemas/days.py,sha256=42GLI3ZAihs0zGOdq0TKEddOgC7dlD4WF3af1DArGcE,7283
38
+ brynq_sdk_nmbrs/schemas/debtor.py,sha256=VsFjtc0kY6Qbo0N_qie5t4y9TjhpcF3vKe4Kx9Frg48,586
39
+ brynq_sdk_nmbrs/schemas/department.py,sha256=EYqEBB8GOCSF8EQO7UNocjMpIuH4Tj8g07qIvPzPM-A,2916
40
+ brynq_sdk_nmbrs/schemas/document.py,sha256=Pzj1h_PQNhFeD3pp9s6Lf512U8_YxDy-OwDd5oSaRhs,500
41
+ brynq_sdk_nmbrs/schemas/employee_wage_tax_settings.py,sha256=b4Fgax-y2zHHG8554n1GRhOGfK0LDaRZdLI22u8EPaE,5100
42
+ brynq_sdk_nmbrs/schemas/employees.py,sha256=-jvavspEw-qG3WwBwd8EW5yffRSxhX-_NS8aOeJl4Lc,11502
43
+ brynq_sdk_nmbrs/schemas/employment.py,sha256=cAZ5hfn01ipv3gTB3cSVRYKBBoeXSbE2K8L5nu0T2QY,2489
44
+ brynq_sdk_nmbrs/schemas/extra_fields.py,sha256=wr9BkKIk9PEpbrWygWJq1EIsVydcJR7udMH9OEaYH1A,2384
45
+ brynq_sdk_nmbrs/schemas/function.py,sha256=PEf6nGjcM6kjof0GV4dHN_ofEEr69qHPmfcURE3kTp4,2352
46
+ brynq_sdk_nmbrs/schemas/hours.py,sha256=BeLemnM6kyTur3i3T5hiI9vOb45X8nfgOzblZB35LQI,8298
47
+ brynq_sdk_nmbrs/schemas/leave.py,sha256=iBMvu8HUTxE7OzYUWelEJbFXTTzjhqSRxbYaX4aOwRM,4078
48
+ brynq_sdk_nmbrs/schemas/manager.py,sha256=rAlE4C7l45LQQaloXLKzAxn6BLaHccFJ-YpwgCVpI78,7709
49
+ brynq_sdk_nmbrs/schemas/salary.py,sha256=BelJENnWOSInW5oZDkn1f4FuCkAwFOV1rjYhRqC2JnY,6394
50
+ brynq_sdk_nmbrs/schemas/schedules.py,sha256=gtLHw6eUVdX7_ZFuokewx2eZcpacP25sKVa_naMobJU,6497
51
+ brynq_sdk_nmbrs/schemas/svw_settings.py,sha256=5qpLQkwrBTctLsmPRd_6nfC6sBMNIocrXaN4R3h9qJo,7297
52
+ brynq_sdk_nmbrs/schemas/wage_tax.py,sha256=VnnUW9p96QL-7VsPcbZNcCIQ6BbUm6LJFoT8qPP8P90,13998
53
+ brynq_sdk_nmbrs/schemas/wage_tax_settings.py,sha256=LkZqNff4Eo79HdwB-o9fYwpZh-fqBccf_DnHWkWNRRM,5705
54
+ brynq_sdk_nmbrs/schemas/wagecomponents.py,sha256=hy6vga2aSt3dd-2RmAVRDdfHUcsZY5ORWSr0KWTF8cc,9671
55
+ brynq_sdk_nmbrs-2.4.5.dist-info/METADATA,sha256=px-ky72nbvLYYlI_1s2UAikKJK-Sn8X7qo_mt_KZab0,529
56
+ brynq_sdk_nmbrs-2.4.5.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
57
+ brynq_sdk_nmbrs-2.4.5.dist-info/top_level.txt,sha256=LrSQFzIV7FP02jBHdBKubiCbIy0C_5YnTz3DSYYoQzg,16
58
+ brynq_sdk_nmbrs-2.4.5.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.10.1)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -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=Wxbpv_ts0q7ywe63GTu0FxP_7s-NHFXvBYDBpjM4GJg,9055
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.3.dev0.dist-info/METADATA,sha256=Naj9B86uVpkq_7NArd0rPyKypwmActFpVWoiakCDuzc,534
53
- brynq_sdk_nmbrs-2.3.3.dev0.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
54
- brynq_sdk_nmbrs-2.3.3.dev0.dist-info/top_level.txt,sha256=LrSQFzIV7FP02jBHdBKubiCbIy0C_5YnTz3DSYYoQzg,16
55
- brynq_sdk_nmbrs-2.3.3.dev0.dist-info/RECORD,,