## List an employer's payroll-deduction statements `employers.list_payroll_deduction_statements(stremployer_id, EmployerListPayrollDeductionStatementsParams**kwargs) -> SyncPageNumberPage[EmployerListPayrollDeductionStatementsResponse]` **get** `/v1/employers/{employer_id}/payroll-deduction-statements` Returns a paginated list of the employer's payroll-deduction statements, newest period first, each with its period, generation date, distinct employee count, total deduction, change-file link, and deduction frequency. Statements superseded by a later correction are excluded. The caller must be authorized for the employer; an unknown or unauthorized employer returns 404. ### Parameters - `employer_id: str` Unique employer identifier (empr_*) - `limit: Optional[int]` Maximum number of statements per page - `page: Optional[int]` Page number to retrieve (starts at 1) ### Returns - `class EmployerListPayrollDeductionStatementsResponse: …` One payroll-deduction statement row. Reads a :class:`PayrollDeductionStatementDTO` by attribute: the `statement_id` character field renders the prefixed id via `str()`, and the date/datetime fields emit ISO-8601 strings. - `csv_file_url: Optional[str]` Download link for the change CSV, or null. - `deduction_frequency: Literal["weekly", "bi_weekly", "semi_monthly", "monthly"]` * `weekly` - Weekly * `bi_weekly` - Bi Weekly * `semi_monthly` - Semi Monthly * `monthly` - Monthly - `"weekly"` - `"bi_weekly"` - `"semi_monthly"` - `"monthly"` - `deduction_frequency_label: str` Human-readable deduction frequency (e.g. `Monthly`). - `employee_count: int` Distinct employees covered by the statement's entries. - `period_end: date` Deduction period end date. - `period_start: date` Deduction period start date. - `run_date: datetime` When the statement was generated. - `statement_id: str` Prefixed payroll-deduction-statement identifier (`pstmt_`). - `total_deduction_cents: int` Total payroll deduction for the period, in cents. ### Example ```python import os from vitable_connect import VitableConnect client = VitableConnect( api_key=os.environ.get("VITABLE_CONNECT_API_KEY"), # This is the default and can be omitted ) page = client.employers.list_payroll_deduction_statements( employer_id="empr_abc123def456", ) page = page.data[0] print(page.statement_id) ``` #### Response ```json { "data": [ { "statement_id": "pstmt_abc123def456", "period_start": "2026-05-01", "period_end": "2026-05-31", "run_date": "2026-06-01T00:00:00Z", "employee_count": 12, "total_deduction_cents": 345600, "csv_file_url": "https://files.example/pds-1.csv", "deduction_frequency": "monthly", "deduction_frequency_label": "Monthly" } ], "pagination": { "page": 1, "limit": 20, "total": 1, "total_pages": 1 } } ```