Fetch an employee's wage tax card from Vero
curl --request POST \
--url https://api.app.lastaccountingcompany.com/portal/payroll/employees/tax-card/fetch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"employee_id": "<string>",
"contract_id": "<string>",
"payment_date": "<string>",
"customer_id": "<string>"
}
'import requests
url = "https://api.app.lastaccountingcompany.com/portal/payroll/employees/tax-card/fetch"
payload = {
"employee_id": "<string>",
"contract_id": "<string>",
"payment_date": "<string>",
"customer_id": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
employee_id: '<string>',
contract_id: '<string>',
payment_date: '<string>',
customer_id: '<string>'
})
};
fetch('https://api.app.lastaccountingcompany.com/portal/payroll/employees/tax-card/fetch', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.app.lastaccountingcompany.com/portal/payroll/employees/tax-card/fetch",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'employee_id' => '<string>',
'contract_id' => '<string>',
'payment_date' => '<string>',
'customer_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.app.lastaccountingcompany.com/portal/payroll/employees/tax-card/fetch"
payload := strings.NewReader("{\n \"employee_id\": \"<string>\",\n \"contract_id\": \"<string>\",\n \"payment_date\": \"<string>\",\n \"customer_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.app.lastaccountingcompany.com/portal/payroll/employees/tax-card/fetch")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"employee_id\": \"<string>\",\n \"contract_id\": \"<string>\",\n \"payment_date\": \"<string>\",\n \"customer_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.app.lastaccountingcompany.com/portal/payroll/employees/tax-card/fetch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"employee_id\": \"<string>\",\n \"contract_id\": \"<string>\",\n \"payment_date\": \"<string>\",\n \"customer_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"tax_card": {
"customer_id": "<string>",
"employee_id": "<string>",
"contract_id": "<string>",
"payment_date": "<string>",
"outcome": "applied",
"changed": true,
"includes_stock_options_and_grants": true,
"nonresident_progressive_tax_claim": true,
"voided_draft_run_ids": [
"<string>"
],
"fetch_id": "<string>",
"environment": "test",
"authority_base_basis_points": 123,
"authority_additional_basis_points": 123,
"annual_income_ceiling_cents": 123,
"valid_from": "<string>",
"employee_requested_minimum_basis_points": 123,
"applied_base_basis_points": 123,
"applied_additional_basis_points": 123,
"note": "<string>"
},
"workspace": {}
}{
"error": "<string>",
"detail": "<string>"
}{
"error": "<string>",
"detail": "<string>"
}{
"error": "<string>",
"detail": "<string>"
}Payroll
Fetch an employee's wage tax card from Vero
NOT available to API keys — requires an interactive admin or existing approver session. Fetches the wage tax card for one actual or future payday, applies normalized authority facts through the audited payroll primitive, and returns the refreshed workspace for the payday’s month. The server selects the Vero environment and reads the employee identity from tenant-scoped payroll state; neither can be supplied in this request.
POST
/
payroll
/
employees
/
tax-card
/
fetch
Fetch an employee's wage tax card from Vero
curl --request POST \
--url https://api.app.lastaccountingcompany.com/portal/payroll/employees/tax-card/fetch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"employee_id": "<string>",
"contract_id": "<string>",
"payment_date": "<string>",
"customer_id": "<string>"
}
'import requests
url = "https://api.app.lastaccountingcompany.com/portal/payroll/employees/tax-card/fetch"
payload = {
"employee_id": "<string>",
"contract_id": "<string>",
"payment_date": "<string>",
"customer_id": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
employee_id: '<string>',
contract_id: '<string>',
payment_date: '<string>',
customer_id: '<string>'
})
};
fetch('https://api.app.lastaccountingcompany.com/portal/payroll/employees/tax-card/fetch', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.app.lastaccountingcompany.com/portal/payroll/employees/tax-card/fetch",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'employee_id' => '<string>',
'contract_id' => '<string>',
'payment_date' => '<string>',
'customer_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.app.lastaccountingcompany.com/portal/payroll/employees/tax-card/fetch"
payload := strings.NewReader("{\n \"employee_id\": \"<string>\",\n \"contract_id\": \"<string>\",\n \"payment_date\": \"<string>\",\n \"customer_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.app.lastaccountingcompany.com/portal/payroll/employees/tax-card/fetch")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"employee_id\": \"<string>\",\n \"contract_id\": \"<string>\",\n \"payment_date\": \"<string>\",\n \"customer_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.app.lastaccountingcompany.com/portal/payroll/employees/tax-card/fetch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"employee_id\": \"<string>\",\n \"contract_id\": \"<string>\",\n \"payment_date\": \"<string>\",\n \"customer_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"tax_card": {
"customer_id": "<string>",
"employee_id": "<string>",
"contract_id": "<string>",
"payment_date": "<string>",
"outcome": "applied",
"changed": true,
"includes_stock_options_and_grants": true,
"nonresident_progressive_tax_claim": true,
"voided_draft_run_ids": [
"<string>"
],
"fetch_id": "<string>",
"environment": "test",
"authority_base_basis_points": 123,
"authority_additional_basis_points": 123,
"annual_income_ceiling_cents": 123,
"valid_from": "<string>",
"employee_requested_minimum_basis_points": 123,
"applied_base_basis_points": 123,
"applied_additional_basis_points": 123,
"note": "<string>"
},
"workspace": {}
}{
"error": "<string>",
"detail": "<string>"
}{
"error": "<string>",
"detail": "<string>"
}{
"error": "<string>",
"detail": "<string>"
}Authorizations
Firebase ID token from an interactive portal session. Required for interactive operations (payroll, company settings, API-key management) and invoice decisions allowed by the member's review permissions.
Body
application/json
Response
Authority outcome and payroll workspace for the payday's month.