brynq-sdk-nmbrs 2.2.0__tar.gz → 2.2.2__tar.gz
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-2.2.0 → brynq_sdk_nmbrs-2.2.2}/PKG-INFO +1 -1
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/__init__.py +26 -20
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/absence.py +4 -11
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/companies.py +1 -4
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/costcenter.py +4 -2
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/salary_tables.py +3 -12
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/__init__.py +1 -1
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/costcenter.py +2 -2
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/social_insurance.py +1 -4
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/wage_tax.py +2 -8
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs.egg-info/PKG-INFO +1 -1
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/setup.py +1 -1
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/address.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/bank.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/children.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/contract.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/costunit.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/days.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/debtors.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/department.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/document.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/employees.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/employment.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/function.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/hours.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/leave.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/manager.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/salaries.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schedules.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/absence.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/address.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/bank.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/contracts.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/costunit.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/days.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/debtor.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/department.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/employees.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/employment.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/function.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/hours.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/leave.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/manager.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/salary.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/schedules.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/social_insurance.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/wage_tax.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/schemas/wagecomponents.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs/wagecomponents.py +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs.egg-info/SOURCES.txt +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs.egg-info/dependency_links.txt +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs.egg-info/not-zip-safe +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs.egg-info/requires.txt +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs.egg-info/top_level.txt +0 -0
- {brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/setup.cfg +0 -0
|
@@ -67,6 +67,16 @@ class Nmbrs(BrynQ):
|
|
|
67
67
|
'https://api.nmbrs.nl/soap/v3/EmployeeService.asmx?wsdl',
|
|
68
68
|
settings=self.soap_settings
|
|
69
69
|
)
|
|
70
|
+
self.soap_auth_header = self._get_soap_auth_header()
|
|
71
|
+
# Following methods can only be used if the SOAP authentication header is set (optional, this is not always in scope for all integrations)
|
|
72
|
+
if self.soap_auth_header is not None:
|
|
73
|
+
self.soap_company_ids = self.companies.get_soap_ids()
|
|
74
|
+
self.salary_tables = SalaryTables(self)
|
|
75
|
+
self.salary_scales = SalaryScales(self)
|
|
76
|
+
self.salary_steps = SalarySteps(self)
|
|
77
|
+
self.wage_tax = WageTax(self)
|
|
78
|
+
self.absence = Absence(self)
|
|
79
|
+
self.children = Children(self)
|
|
70
80
|
|
|
71
81
|
self.address = Address(self)
|
|
72
82
|
self.bank = Bank(self)
|
|
@@ -78,7 +88,6 @@ class Nmbrs(BrynQ):
|
|
|
78
88
|
debtors, _ = self.debtor.get()
|
|
79
89
|
self.debtor_ids = debtors['debtor_id'].to_list()
|
|
80
90
|
self.company_ids = self.companies.get()['companyId'].to_list()
|
|
81
|
-
self.soap_company_ids = self.companies.get_soap_ids()
|
|
82
91
|
self.employees = Employees(self)
|
|
83
92
|
self.employment = Employment(self)
|
|
84
93
|
self.function = EmployeeFunction(self)
|
|
@@ -92,12 +101,6 @@ class Nmbrs(BrynQ):
|
|
|
92
101
|
self.schedule = Schedule(self)
|
|
93
102
|
self.fixed_wagecomponents = EmployeeFixedWageComponents(self)
|
|
94
103
|
self.variable_wagecomponents = EmployeeVariableWageComponents(self)
|
|
95
|
-
self.children = Children(self)
|
|
96
|
-
self.salary_tables = SalaryTables(self)
|
|
97
|
-
self.salary_scales = SalaryScales(self)
|
|
98
|
-
self.salary_steps = SalarySteps(self)
|
|
99
|
-
self.wage_tax = WageTax(self)
|
|
100
|
-
self.absence = Absence(self)
|
|
101
104
|
self.current_period = self.companies.get_current_period()
|
|
102
105
|
|
|
103
106
|
def _get_request_headers(self):
|
|
@@ -118,20 +121,23 @@ class Nmbrs(BrynQ):
|
|
|
118
121
|
Returns:
|
|
119
122
|
AuthHeaderWithDomainType: The authentication header for SOAP requests
|
|
120
123
|
"""
|
|
121
|
-
initial_credentials = self.
|
|
122
|
-
config = initial_credentials.get("
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
124
|
+
initial_credentials = self.interfaces.credentials.get(system='nmbrs', system_type=self.system_type)
|
|
125
|
+
config = initial_credentials.get("custom_data", {})
|
|
126
|
+
|
|
127
|
+
if 'soap_api_token' not in config.keys():
|
|
128
|
+
return None
|
|
129
|
+
else:
|
|
130
|
+
# Get the AuthHeaderWithDomain type from the WSDL
|
|
131
|
+
AuthHeaderWithDomainType = self.soap_client_companies.get_element('ns0:AuthHeaderWithDomain')
|
|
132
|
+
|
|
133
|
+
# Create the auth header using credentials from config
|
|
134
|
+
auth_header = AuthHeaderWithDomainType(
|
|
135
|
+
Username=config.get("soap_api_username"),
|
|
136
|
+
Token=config.get("soap_api_token"),
|
|
137
|
+
Domain=config.get("soap_api_domain")
|
|
138
|
+
)
|
|
133
139
|
|
|
134
|
-
|
|
140
|
+
return auth_header
|
|
135
141
|
|
|
136
142
|
def get_paginated_result(self, request: requests.Request) -> List:
|
|
137
143
|
has_next_page = True
|
|
@@ -40,7 +40,7 @@ class Absence:
|
|
|
40
40
|
|
|
41
41
|
def _get(self, company_id: int, employee_id: int = None) -> pd.DataFrame:
|
|
42
42
|
"""
|
|
43
|
-
Get
|
|
43
|
+
Get all absences for a specific company, period and year.
|
|
44
44
|
|
|
45
45
|
Args:
|
|
46
46
|
company_id (int): The ID of the company
|
|
@@ -51,20 +51,16 @@ class Absence:
|
|
|
51
51
|
pd.DataFrame: DataFrame containing the salary tables
|
|
52
52
|
"""
|
|
53
53
|
try:
|
|
54
|
-
|
|
55
|
-
# Get the auth header using the centralized method
|
|
56
|
-
auth_header = self.nmbrs._get_soap_auth_header()
|
|
57
|
-
|
|
58
54
|
if employee_id is None:
|
|
59
55
|
response = self.soap_client_employees.service.Absence_GetAll_AllEmployeesByCompany(
|
|
60
56
|
CompanyId=company_id,
|
|
61
|
-
_soapheaders=[
|
|
57
|
+
_soapheaders=[self.nmbrs.soap_auth_header]
|
|
62
58
|
)
|
|
63
59
|
else:
|
|
64
60
|
# Make SOAP request with the proper header structure
|
|
65
61
|
response = self.soap_client_employees.service.Absence_GetList(
|
|
66
62
|
EmployeeId=employee_id,
|
|
67
|
-
_soapheaders=[
|
|
63
|
+
_soapheaders=[self.nmbrs.soap_auth_header]
|
|
68
64
|
)
|
|
69
65
|
|
|
70
66
|
# Convert response to DataFrame
|
|
@@ -95,9 +91,6 @@ class Absence:
|
|
|
95
91
|
if self.nmbrs.mock_mode:
|
|
96
92
|
return absence_model
|
|
97
93
|
|
|
98
|
-
# Get the auth header using the centralized method
|
|
99
|
-
auth_header = self.nmbrs._get_soap_auth_header()
|
|
100
|
-
|
|
101
94
|
# Use the model's built-in SOAP conversion method
|
|
102
95
|
absence_settings = absence_model.to_soap_settings(self.nmbrs.soap_client_employees)
|
|
103
96
|
|
|
@@ -106,7 +99,7 @@ class Absence:
|
|
|
106
99
|
EmployeeId=absence_model.employee_id,
|
|
107
100
|
Dossier=absence_model.new_dossier,
|
|
108
101
|
Absence=absence_settings,
|
|
109
|
-
_soapheaders=[
|
|
102
|
+
_soapheaders=[self.nmbrs.soap_auth_header]
|
|
110
103
|
)
|
|
111
104
|
|
|
112
105
|
# Convert response to DataFrame
|
|
@@ -51,12 +51,9 @@ class Companies:
|
|
|
51
51
|
pd.DataFrame: DataFrame containing all companies
|
|
52
52
|
"""
|
|
53
53
|
try:
|
|
54
|
-
# Get the auth header using the centralized method
|
|
55
|
-
auth_header = self.nmbrs._get_soap_auth_header()
|
|
56
|
-
|
|
57
54
|
# Make SOAP request with the proper header structure
|
|
58
55
|
response = self.soap_client_companies.service.List_GetAll(
|
|
59
|
-
_soapheaders=[
|
|
56
|
+
_soapheaders=[self.nmbrs.soap_auth_header]
|
|
60
57
|
)
|
|
61
58
|
|
|
62
59
|
# Convert response to DataFrame
|
|
@@ -2,17 +2,19 @@ import pandas as pd
|
|
|
2
2
|
import requests
|
|
3
3
|
from dateutil.utils import today
|
|
4
4
|
from requests import HTTPError
|
|
5
|
-
from typing import Dict, Any
|
|
5
|
+
from typing import Dict, Any, TYPE_CHECKING
|
|
6
6
|
|
|
7
7
|
from brynq_sdk_functions import Functions
|
|
8
8
|
from .schemas.costcenter import CostcenterGet, EmployeeCostcenterGet
|
|
9
9
|
from .schemas.costcenter import EmployeeCostcenterUpdate, EmployeeCostcenterDelete
|
|
10
10
|
from .schemas.costcenter import CostcenterCreate, CostcenterUpdate, CostcenterDelete
|
|
11
|
+
if TYPE_CHECKING:
|
|
12
|
+
from brynq_sdk_nmbrs import Nmbrs
|
|
11
13
|
|
|
12
14
|
|
|
13
15
|
class EmployeeCostcenter:
|
|
14
16
|
def __init__(self, nmbrs):
|
|
15
|
-
self.nmbrs = nmbrs
|
|
17
|
+
self.nmbrs: Nmbrs = nmbrs
|
|
16
18
|
|
|
17
19
|
def get(self,
|
|
18
20
|
created_from: str = None,
|
|
@@ -50,15 +50,12 @@ class SalaryTables:
|
|
|
50
50
|
pd.DataFrame: DataFrame containing the salary tables
|
|
51
51
|
"""
|
|
52
52
|
try:
|
|
53
|
-
# Get the auth header using the centralized method
|
|
54
|
-
auth_header = self.nmbrs._get_soap_auth_header()
|
|
55
|
-
|
|
56
53
|
# Make SOAP request with the proper header structure
|
|
57
54
|
response = self.soap_client_companies.service.SalaryTable2_Get(
|
|
58
55
|
CompanyId=company_id,
|
|
59
56
|
Period=period,
|
|
60
57
|
Year=year,
|
|
61
|
-
_soapheaders=[
|
|
58
|
+
_soapheaders=[self.nmbrs.soap_auth_header]
|
|
62
59
|
)
|
|
63
60
|
|
|
64
61
|
# Convert response to DataFrame
|
|
@@ -123,15 +120,12 @@ class SalaryScales:
|
|
|
123
120
|
pd.DataFrame: DataFrame containing the salary scales
|
|
124
121
|
"""
|
|
125
122
|
try:
|
|
126
|
-
# Get the auth header using the centralized method
|
|
127
|
-
auth_header = self.nmbrs._get_soap_auth_header()
|
|
128
|
-
|
|
129
123
|
# Make SOAP request with the proper header structure
|
|
130
124
|
response = self.soap_client_companies.service.SalaryTable2_GetScales(
|
|
131
125
|
CompanyId=company_id,
|
|
132
126
|
Period=period,
|
|
133
127
|
Year=year,
|
|
134
|
-
_soapheaders=[
|
|
128
|
+
_soapheaders=[self.nmbrs.soap_auth_header]
|
|
135
129
|
)
|
|
136
130
|
|
|
137
131
|
# Convert response to DataFrame
|
|
@@ -208,9 +202,6 @@ class SalarySteps:
|
|
|
208
202
|
pd.DataFrame: DataFrame containing the salary steps
|
|
209
203
|
"""
|
|
210
204
|
try:
|
|
211
|
-
# Get the auth header using the centralized method
|
|
212
|
-
auth_header = self.nmbrs._get_soap_auth_header()
|
|
213
|
-
|
|
214
205
|
# Make SOAP request with the proper header structure
|
|
215
206
|
response = self.soap_client_companies.service.SalaryTable2_GetSteps(
|
|
216
207
|
CompanyId=company_id,
|
|
@@ -223,7 +214,7 @@ class SalarySteps:
|
|
|
223
214
|
'ScalePercentageMax': scale.get('scale_percentage_max', 0),
|
|
224
215
|
'ScalePercentageMin': scale.get('scale_percentage_min', 0)
|
|
225
216
|
},
|
|
226
|
-
_soapheaders=[
|
|
217
|
+
_soapheaders=[self.nmbrs.soap_auth_header]
|
|
227
218
|
)
|
|
228
219
|
|
|
229
220
|
# Convert response to DataFrame
|
|
@@ -12,7 +12,7 @@ from .function import FunctionGet, FunctionUpdate
|
|
|
12
12
|
from .hours import FixedHoursGet, FixedHoursCreate, FixedHoursUpdate, HoursDelete, VariableHoursGet, VariableHoursCreate, VariableHoursUpdate
|
|
13
13
|
from .salary import SalaryGet, SalaryCreate
|
|
14
14
|
from .manager import ManagerGet, ManagerBasicGet, EmployeeManagerGet, ManagerHistoricBasicGet, ManagerCreate, ManagerUpdate, ManagerDelete, UpdateEmployeeManager
|
|
15
|
-
from .salary import SalaryGet, SalaryCreate
|
|
15
|
+
from .salary import SalaryGet, SalaryCreate
|
|
16
16
|
from .wagecomponents import FixedWageComponentGet, FixedWageComponentCreate, FixedWageComponentUpdate, WageComponentDelete, VariableWageComponentGet, VariableWageComponentCreate, VariableWageComponentUpdate
|
|
17
17
|
from .wage_tax import WageTaxGet, WageTaxUpdate
|
|
18
18
|
|
|
@@ -22,8 +22,8 @@ class EmployeeCostcenterGet(BrynQPanderaDataFrameModel):
|
|
|
22
22
|
cost_units_description: Series[String] = pa.Field(coerce=True, description="Cost Unit Description", alias="costUnits.description")
|
|
23
23
|
percentage: Series[Float] = pa.Field(coerce=True, description="Percentage", alias="percentage")
|
|
24
24
|
default: Series[Bool] = pa.Field(coerce=True, description="Default", alias="default")
|
|
25
|
-
period_year: Series[
|
|
26
|
-
period_period: Series[
|
|
25
|
+
period_year: Series[pd.Int64Dtype] = pa.Field(coerce=True, description="Year", alias="period.year")
|
|
26
|
+
period_period: Series[pd.Int64Dtype] = pa.Field(coerce=True, description="Period", alias="period.period")
|
|
27
27
|
created_at: Series[DateTime] = pa.Field(coerce=True, description="Created At", alias="createdAt")
|
|
28
28
|
|
|
29
29
|
class _Annotation:
|
|
@@ -20,9 +20,6 @@ class SocialInsurance:
|
|
|
20
20
|
if self.nmbrs.mock_mode:
|
|
21
21
|
return social_insurance_model
|
|
22
22
|
|
|
23
|
-
# Get the auth header using the centralized method
|
|
24
|
-
auth_header = self.nmbrs._get_soap_auth_header()
|
|
25
|
-
|
|
26
23
|
# Use the model's built-in SOAP conversion method
|
|
27
24
|
social_insurance_settings = social_insurance_model.to_soap_settings(self.nmbrs.soap_client_employees)
|
|
28
25
|
|
|
@@ -30,7 +27,7 @@ class SocialInsurance:
|
|
|
30
27
|
response = self.nmbrs.soap_client_employees.service.SVW_UpdateCurrent(
|
|
31
28
|
EmployeeId=social_insurance_model.employee_id,
|
|
32
29
|
SVWSettings=social_insurance_settings,
|
|
33
|
-
_soapheaders=[
|
|
30
|
+
_soapheaders=[self.nmbrs.soap_auth_header]
|
|
34
31
|
)
|
|
35
32
|
|
|
36
33
|
# Convert response to DataFrame
|
|
@@ -51,14 +51,11 @@ class WageTax:
|
|
|
51
51
|
pd.DataFrame: DataFrame containing the salary tables
|
|
52
52
|
"""
|
|
53
53
|
try:
|
|
54
|
-
# Get the auth header using the centralized method
|
|
55
|
-
auth_header = self.nmbrs._get_soap_auth_header()
|
|
56
|
-
|
|
57
54
|
# Make SOAP request with the proper header structure
|
|
58
55
|
response = self.soap_client_companies.service.WageTax_GetList(
|
|
59
56
|
CompanyId=company_id,
|
|
60
57
|
intYear=year,
|
|
61
|
-
_soapheaders=[
|
|
58
|
+
_soapheaders=[self.nmbrs.soap_auth_header]
|
|
62
59
|
)
|
|
63
60
|
|
|
64
61
|
# Convert response to DataFrame
|
|
@@ -89,9 +86,6 @@ class WageTax:
|
|
|
89
86
|
if self.nmbrs.mock_mode:
|
|
90
87
|
return wage_tax_model
|
|
91
88
|
|
|
92
|
-
# Get the auth header using the centralized method
|
|
93
|
-
auth_header = self.nmbrs._get_soap_auth_header()
|
|
94
|
-
|
|
95
89
|
# Use the model's built-in SOAP conversion method
|
|
96
90
|
wage_tax_settings = wage_tax_model.to_soap_settings(self.nmbrs.soap_client_employees)
|
|
97
91
|
|
|
@@ -99,7 +93,7 @@ class WageTax:
|
|
|
99
93
|
response = self.nmbrs.soap_client_employees.service.WageTax_UpdateCurrent(
|
|
100
94
|
EmployeeId=wage_tax_model.employee_id,
|
|
101
95
|
LoonheffingSettings=wage_tax_settings,
|
|
102
|
-
_soapheaders=[
|
|
96
|
+
_soapheaders=[self.nmbrs.soap_auth_header]
|
|
103
97
|
)
|
|
104
98
|
|
|
105
99
|
# Convert response to DataFrame
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{brynq_sdk_nmbrs-2.2.0 → brynq_sdk_nmbrs-2.2.2}/brynq_sdk_nmbrs.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|