import Conductor from 'conductor-node';
const conductor = new Conductor({
apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
});
const report = await conductor.qbd.reports.payrollSummary({
reportType: 'employee_earnings_summary',
conductorEndUserId: 'end_usr_1234567abcdefg',
});
console.log(report.basis);import os
from conductor import Conductor
conductor = Conductor(
api_key=os.environ.get("CONDUCTOR_SECRET_KEY"), # This is the default and can be omitted
)
report = conductor.qbd.reports.payroll_summary(
report_type="employee_earnings_summary",
conductor_end_user_id="end_usr_1234567abcdefg",
)
print(report.basis)curl --request GET \
--url https://api.conductor.is/v1/quickbooks-desktop/reports/payroll-summary \
--header 'Authorization: Bearer <token>' \
--header 'Conductor-End-User-Id: <conductor-end-user-id>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.conductor.is/v1/quickbooks-desktop/reports/payroll-summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Conductor-End-User-Id: <conductor-end-user-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.conductor.is/v1/quickbooks-desktop/reports/payroll-summary"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Conductor-End-User-Id", "<conductor-end-user-id>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.conductor.is/v1/quickbooks-desktop/reports/payroll-summary")
.header("Conductor-End-User-Id", "<conductor-end-user-id>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.conductor.is/v1/quickbooks-desktop/reports/payroll-summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Conductor-End-User-Id"] = '<conductor-end-user-id>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"objectType": "qbd_report",
"category": "general_summary",
"reportType": "trial_balance",
"title": "Trial Balance",
"subtitle": "As of February 1, 2025",
"basis": "accrual",
"rowCount": 7,
"columnCount": 3,
"columnTitleRowCount": 2,
"columns": [
{
"columnId": "<string>",
"columnType": "<string>",
"dataType": "<string>",
"titles": [
{
"rowNumber": 123,
"value": "<string>"
}
]
}
],
"rows": [
{
"kind": "text",
"rowNumber": 123,
"text": "<string>"
}
]
}Retrieve a payroll summary report
Retrieves a QuickBooks Desktop payroll summary report, including payroll totals by employee, employee earnings by payroll item, and payroll liability balances. This report is useful for wage, tax, deduction, addition, employer contribution, and unpaid payroll liability reporting.
import Conductor from 'conductor-node';
const conductor = new Conductor({
apiKey: process.env['CONDUCTOR_SECRET_KEY'], // This is the default and can be omitted
});
const report = await conductor.qbd.reports.payrollSummary({
reportType: 'employee_earnings_summary',
conductorEndUserId: 'end_usr_1234567abcdefg',
});
console.log(report.basis);import os
from conductor import Conductor
conductor = Conductor(
api_key=os.environ.get("CONDUCTOR_SECRET_KEY"), # This is the default and can be omitted
)
report = conductor.qbd.reports.payroll_summary(
report_type="employee_earnings_summary",
conductor_end_user_id="end_usr_1234567abcdefg",
)
print(report.basis)curl --request GET \
--url https://api.conductor.is/v1/quickbooks-desktop/reports/payroll-summary \
--header 'Authorization: Bearer <token>' \
--header 'Conductor-End-User-Id: <conductor-end-user-id>'<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.conductor.is/v1/quickbooks-desktop/reports/payroll-summary",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Conductor-End-User-Id: <conductor-end-user-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.conductor.is/v1/quickbooks-desktop/reports/payroll-summary"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Conductor-End-User-Id", "<conductor-end-user-id>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.conductor.is/v1/quickbooks-desktop/reports/payroll-summary")
.header("Conductor-End-User-Id", "<conductor-end-user-id>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.conductor.is/v1/quickbooks-desktop/reports/payroll-summary")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Conductor-End-User-Id"] = '<conductor-end-user-id>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"objectType": "qbd_report",
"category": "general_summary",
"reportType": "trial_balance",
"title": "Trial Balance",
"subtitle": "As of February 1, 2025",
"basis": "accrual",
"rowCount": 7,
"columnCount": 3,
"columnTitleRowCount": 2,
"columns": [
{
"columnId": "<string>",
"columnType": "<string>",
"dataType": "<string>",
"titles": [
{
"rowNumber": 123,
"value": "<string>"
}
]
}
],
"rows": [
{
"kind": "text",
"rowNumber": 123,
"text": "<string>"
}
]
}Authorizations
Headers
Query Parameters
Filter report rows dated on or after this date, in ISO 8601 format (YYYY-MM-DD). Choose either reportDateMacro or reportDateFrom/reportDateTo. If you omit reportDateFrom, reportDateTo, and reportDateMacro, QuickBooks Desktop uses the current fiscal year to date.
"2025-01-01"
Filter report rows dated on or before this date, in ISO 8601 format (YYYY-MM-DD). Choose either reportDateMacro or reportDateFrom/reportDateTo. If you omit reportDateFrom, reportDateTo, and reportDateMacro, QuickBooks Desktop uses the current fiscal year to date.
"2025-02-01"
A QuickBooks Desktop relative date macro for the report period. Choose either reportDateMacro or reportDateFrom/reportDateTo.
all, today, this_week, this_week_to_date, this_month, this_month_to_date, this_quarter, this_quarter_to_date, this_year, this_year_to_date, yesterday, last_week, last_week_to_date, last_month, last_month_to_date, last_quarter, last_quarter_to_date, last_year, last_year_to_date, next_week, next_four_weeks, next_month, next_quarter, next_year "this_year_to_date"
Filter report rows by account type. Choose only one account filter per request: accountType, accountIds, or accountFullNames.
accounts_payable, accounts_receivable, allowed_for_1099, ap_and_sales_tax, ap_or_credit_card, ar_and_ap, asset, balance_sheet, bank, bank_and_ar_and_ap_and_uf, bank_and_uf, cost_of_sales, credit_card, current_asset, current_asset_and_expense, current_liability, equity, equity_and_income_and_expense, expense_and_other_expense, fixed_asset, income_and_expense, income_and_other_income, liability, liability_and_equity, long_term_liability, non_posting, ordinary_expense, ordinary_income, ordinary_income_and_cogs, ordinary_income_and_expense, other_asset, other_current_asset, other_current_liability, other_expense, other_income, other_income_or_expense "bank"
Filter report rows by account fullName values, case-insensitive. A fullName is a fully qualified QuickBooks name formed by joining parent object names with the object's name using colons. Accepts one or more account full names. Choose only one account filter per request: accountType, accountIds, or accountFullNames.
["Corporate:Accounts-Payable"]
Filter report rows by entity fullName values, case-insensitive. A fullName is a fully qualified QuickBooks name formed by joining parent object names with the object's name using colons. Accepts one or more entity full names. Choose only one entity filter per request: entityType, entityIds, or entityFullNames.
["ABC Corporation:Website Redesign Project"]
Filter report rows by item type. Choose only one item filter per request: itemType, itemIds, or itemFullNames.
all_except_fixed_asset, assembly, discount, fixed_asset, inventory, inventory_and_assembly, non_inventory, other_charge, payment, sales, sales_tax, service "inventory"
Filter report rows by item fullName values, case-insensitive. A fullName is a fully qualified QuickBooks name formed by joining parent object names with the object's name using colons. Accepts one or more item full names. Choose only one item filter per request: itemType, itemIds, or itemFullNames.
["Services:Consulting"]
Filter report rows by class fullName values, case-insensitive. A fullName is a fully qualified QuickBooks name formed by joining parent object names with the object's name using colons. Accepts one or more class full names. Choose only one class filter per request: classIds or classFullNames.
["Department:Marketing"]
A QuickBooks Desktop relative updated-date macro. Choose either updatedDateMacro or updatedAfter/updatedBefore.
all, today, this_week, this_week_to_date, this_month, this_month_to_date, this_quarter, this_quarter_to_date, this_year, this_year_to_date, yesterday, last_week, last_week_to_date, last_month, last_month_to_date, last_quarter, last_quarter_to_date, last_year, last_year_to_date, next_week, next_four_weeks, next_month, next_quarter, next_year "this_month_to_date"
How QuickBooks Desktop calculates report data and labels report column headers.
account, balance_sheet, class, customer, customer_type, day, employee, four_week, half_month, income_statement, item_detail, item_type, month, payee, payment_method, payroll_item_detail, payroll_ytd_detail, quarter, sales_representative, sales_tax_code, shipping_method, terms, total_only, two_week, vendor, vendor_type, week, year "month"
Response
Returns the requested payroll summary report.
The report type.
balance_sheet_by_class, balance_sheet_previous_year_comparison, balance_sheet_standard, balance_sheet_summary, customer_balance_summary, expense_by_vendor_summary, income_by_customer_summary, inventory_stock_status_by_item, inventory_stock_status_by_vendor, income_tax_summary, inventory_valuation_summary, inventory_valuation_summary_by_site, lot_number_in_stock_by_site, physical_inventory_worksheet, profit_and_loss_by_class, profit_and_loss_by_job, profit_and_loss_previous_year_comparison, profit_and_loss_standard, profit_and_loss_ytd_comparison, purchase_by_item_summary, purchase_by_vendor_summary, sales_by_customer_summary, sales_by_item_summary, sales_by_sales_representative_summary, sales_tax_liability, sales_tax_revenue_summary, serial_number_in_stock_by_site, trial_balance, vendor_balance_summary, 1099_detail, audit_trail, balance_sheet_detail, check_detail, customer_balance_detail, deposit_detail, estimates_by_job, expense_by_vendor_detail, general_ledger, income_by_customer_detail, income_tax_detail, inventory_valuation_detail, job_progress_invoices_vs_estimates, journal, missing_checks, open_invoices, open_purchase_orders, open_purchase_orders_by_job, open_sales_order_by_customer, open_sales_order_by_item, pending_sales, profit_and_loss_detail, purchase_by_item_detail, purchase_by_vendor_detail, sales_by_customer_detail, sales_by_item_detail, sales_by_sales_representative_detail, transaction_detail_by_account, transaction_list_by_customer, transaction_list_by_date, transaction_list_by_vendor, unpaid_bills_detail, unbilled_costs_by_job, vendor_balance_detail, ap_aging_detail, ap_aging_summary, ar_aging_detail, ar_aging_summary, collections_report, balance_sheet_budget_overview, balance_sheet_budget_vs_actual, profit_and_loss_budget_overview, profit_and_loss_budget_performance, profit_and_loss_budget_vs_actual, item_estimates_vs_actuals, item_profitability, job_estimates_vs_actuals_detail, job_estimates_vs_actuals_summary, job_profitability_detail, job_profitability_summary, time_by_item, time_by_job_detail, time_by_job_summary, time_by_name, custom_transaction_detail, custom_summary, employee_state_taxes_detail, payroll_item_detail, payroll_review_detail, payroll_transaction_detail, payroll_transactions_by_payee, employee_earnings_summary, payroll_liability_balances, payroll_summary "trial_balance"

