Skip to main content
Glama

Zovo Salary Slip Maker

Generate salary slip

generate_salary_slip
Read-onlyIdempotent

Use this when the user wants a salary slip (payslip, salary slip format for India) as a PDF and Excel file from earnings and deductions they give. Put components into earnings and deductions as items ({name, amount}, or percent/of for a deduction); a simple pasted list (one name and amount per item) works as a fallback. Prorates earnings for LOP days (paid_days or lop_days, calendar or fixed-day month) or a mid-month joining, keeps bonus and reimbursements in full, and returns gross, total deductions, net pay, net pay in words (Indian and international), and download links. Does not compute PF, ESI, professional tax or TDS by law and does not take PAN, UAN or bank numbers. Do not use for salary negotiation, CTC planning or tax calculation.

Input Schema

NameRequiredDescriptionDefault
pfNoShortcut: PF deduction amount, e.g. 1800, or "12%" (of Basic).
hraNoShortcut: HRA for the full month, e.g. 10000.
tdsNoShortcut: TDS deduction as given, e.g. 1500.
basicNoShortcut: Basic for the full month, e.g. 25000 (same as an earnings item).
monthNoPay month, e.g. "October 2026" or "2026-10". Default: last month.
earningsNoEarnings with full-month amounts: [{"name":"Basic","amount":25000},{"name":"HRA","amount":10000},{"name":"Special Allowance","amount":8000}], or {"Basic":25000,"HRA":10000}, or text "Basic 25000, HRA 10000".
id_linesNotrue to print blank PAN, UAN and bank account lines to fill by hand. These numbers are not collected.
locationNoOptional work location, e.g. "Pune".
lop_daysNoLoss-of-pay days, e.g. 2. Paid days = days in month - LOP days.
roundingNo"rupee" (default, prorated amounts to the nearest rupee) or "paise".
page_sizeNo"A4" (default) or "Letter".
paid_daysNoDays paid, e.g. 28 or 29.5. Default: all days of the month (or days from joining).
deductionsNoDeductions as the user gives them: [{"name":"PF","amount":1800},{"name":"Professional Tax","amount":200},{"name":"TDS","amount":1500}], or a percent of a named earning, {"name":"PF","percent":12,"of":"Basic"}, or text "PF 12% of Basic, PT 200". Nothing is computed by law.
departmentNoOptional department, e.g. "Engineering".
designationNoOptional job title, e.g. "Software Engineer".
employee_idNoOptional employee ID, e.g. "EMP-0042".
days_in_monthNoProration basis: "calendar" (default, 28 to 31) or a fixed number such as 30 or 26.
employee_nameNoEmployee name as it should print, any script, e.g. "Priya Sharma" or "प्रिया शर्मा".
employer_nameNoCompany name for the header, e.g. "Acme Technologies Pvt Ltd".
date_of_joiningNoOptional joining date, e.g. "2026-10-12" or "12/10/2026" (day first). Joining inside the pay month sets paid days when paid_days is not given.
employer_addressNoOptional company address, e.g. "4th Floor, Tech Park, Pune 411014".
last_working_dayNoOptional last working day inside the pay month, e.g. "2026-10-20", for a final slip.
professional_taxNoShortcut: professional tax deduction as given, e.g. 200.
special_allowanceNoShortcut: Special Allowance for the full month, e.g. 8000.

Output Schema

NameRequiredDescriptionDefault
daysYes
monthYes
notesYes
net_payYes
earningsYes
employeeYes
employerYes
warningsYes
downloadsYes
deductionsYes
assumptionsYes
gross_earningsYes
gross_full_monthYes
net_pay_in_wordsYes
total_deductionsYes
net_pay_formattedYes
earnings_count_shownNo
deductions_count_shownNo
net_pay_in_words_internationalYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds real behavior beyond them: proration for LOP days or mid-month joining, full payment for bonus/reimbursements, the exact computed outputs (gross, total deductions, net pay, net pay in words, download links), and hard limits (no statutory PF/ESI/PT/TDS computation, no PAN/UAN/bank numbers). These are substantive operational facts an agent cannot infer from structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is front-loaded with the trigger and the input-shaping rule, then behavior, then exclusions — a sensible order. It is a single dense paragraph covering a lot of ground with little waste, though it is long enough that the exclusions and no-statutory-computation caveat could be separated for easier scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 24 optional parameters, an output schema, and rich annotations, the description covers purpose, computation rules, output summary, and hard limits well. The remaining gap is that with zero required parameters it never states the minimum viable input (e.g. what happens if earnings is omitted or only a name is supplied), and defaults like month defaulting to last month are left to the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every one of the 24 parameters is already documented in the schema, and the description largely restates the earnings/deductions item shape ({name, amount}, percent/of) rather than adding new semantics. The one useful addition beyond the schema is framing the pasted text list as an acceptable fallback, but that is also present in the schema's own descriptions, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence gives a specific verb (generate), resource (salary slip/payslip, India format), output artifacts (PDF and Excel), and input source (earnings and deductions the user gives). The closing sentence explicitly carves out what the tool is not for (salary negotiation, CTC planning, tax calculation), so an agent can distinguish it even without siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the trigger condition ("Use this when the user wants a salary slip") and explicit exclusions ("Do not use for salary negotiation, CTC planning or tax calculation"), which is the when-not half most descriptions omit. It also tells the agent how to shape input, including a low-effort fallback (a pasted name/amount list), which is actionable routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources