JRXML <?xml version="1.0" encoding="UTF-8"?><!-- Created with Jaspersoft Studio version 6.6.0.final using JasperReports Library version 6.6.0 --><jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="multipayslip" language="javascript" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="975714cc-487b-4780-af93-96ba4c6852ec"> <property name="com.jaspersoft.studio.data.defaultdataadapter" value="JSON QL data"/> <style name="Table_TH" mode="Opaque" forecolor="#FFFFFF" backcolor="#08243C" fontSize="14"> <box padding="4"> <pen lineWidth="0.0" lineColor="#000000"/> </box> </style> <style name="Table_CH" mode="Opaque" forecolor="#FFFFFF" backcolor="#3A799A" fontSize="12"> <box padding="4"> <pen lineWidth="0.5" lineColor="#FFFFFF"/> </box> </style> <style name="Table_TD" mode="Opaque" forecolor="#000000" backcolor="#A8ABA5" fontSize="12"> <box padding="4"> <pen lineWidth="0.5" lineColor="#FFFFFF"/> </box> </style> <subDataset name="Busses" uuid="2817bd63-7c51-483d-bb88-e6b37adc973b"> <property name="com.jaspersoft.studio.data.defaultdataadapter" value="JSON QL data"/> <parameter name="employee_key" class="java.lang.String"/> <queryString language="jsonql"> <![CDATA[buss.*]]> </queryString> <field name="name" class="java.lang.String"> <property name="net.sf.jasperreports.jsonql.field.expression" value="name"/> <fieldDescription><![CDATA[name]]></fieldDescription> </field> <field name="description" class="java.lang.String"> <property name="net.sf.jasperreports.jsonql.field.expression" value="description"/> <fieldDescription><![CDATA[description]]></fieldDescription> </field> </subDataset> <subDataset name="Employees" uuid="ba80e38d-858c-49c5-a296-c779f28992f2"> <property name="com.jaspersoft.studio.data.defaultdataadapter" value="JSON QL data"/> <parameter name="employee_id" class="java.lang.String"> <parameterDescription><![CDATA[Employee database id to generate report for; empty means all employees]]></parameterDescription> </parameter> <queryString language="jsonql"> <![CDATA[employee.*]]> </queryString> <field name="id" class="java.lang.String"> <property name="net.sf.jasperreports.jsonql.field.expression" value="id"/> </field> <field name="name" class="java.lang.String"> <property name="net.sf.jasperreports.jsonql.field.expression" value="name"/> </field> <field name="email" class="java.lang.String"> <property name="net.sf.jasperreports.jsonql.field.expression" value="email"/> </field> <field name="title" class="java.lang.Integer"> <property name="net.sf.jasperreports.jsonql.field.expression" value="title"/> </field> <field name="start_date" class="java.lang.String"> <property name="net.sf.jasperreports.jsonql.field.expression" value="start_date"/> </field> <field name="end_date" class="java.lang.String"> <property name="net.sf.jasperreports.jsonql.field.expression" value="end_date"/> </field> <field name="test_employee" class="java.lang.Boolean"> <property name="net.sf.jasperreports.jsonql.field.expression" value="test_employee"/> </field> <field name="pay_graph_results" class="java.lang.Object"> <property name="net.sf.jasperreports.json.field.expression" value="pay_graph_results"/> </field> <field name="ee_tax_basis" class="java.lang.String"> <property name="net.sf.jasperreports.json.field.expression" value="ee_tax_basis"/> </field> <field name="ee_tax_reference" class="java.lang.String"> <property name="net.sf.jasperreports.json.field.expression" value="ee_tax_reference"/> </field> <field name="ee_bank_account" class="java.lang.String"> <property name="net.sf.jasperreports.json.field.expression" value="ee_bank_account"/> </field> <field name="top" class="java.lang.Object"> <propertyExpression name="net.sf.jasperreports.jsonql.field.expression"><![CDATA["$"]]></propertyExpression> <fieldDescription><![CDATA[Top level object]]></fieldDescription> </field> <filterExpression><![CDATA[/* The filter is not set, or your id matches the filter. */ ([null, "", $F{id}].indexOf($P{employee_id}) > -1) && /* You started before the end of the pay period. */ ($F{start_date} <= $F{top}.get("pay_run").get("pay_period_last_day").asText()) && /* You have not planned to leave, or are leaving after the start of the pay period. */ (($F{end_date} === null) || ($F{end_date} >= $F{top}.get("pay_run").get("pay_period_first_day").asText())) && /* You are not a test employee. */ !$F{test_employee}]]></filterExpression> </subDataset> <parameter name="employee_id" class="java.lang.String" isForPrompting="false"> <parameterDescription><![CDATA[Employee database id to generate report for; empty means all employees]]></parameterDescription> </parameter> <queryString language="jsonql"> <![CDATA[]]> </queryString> <field name="top" class="java.lang.Object"> <propertyExpression name="net.sf.jasperreports.jsonql.field.expression"><![CDATA["$"]]></propertyExpression> <fieldDescription><![CDATA[Top level object]]></fieldDescription> </field> <background> <band splitType="Stretch"/> </background> <title> <band height="79" splitType="Stretch"> <textField> <reportElement style="Table_TH" x="0" y="9" width="510" height="25" uuid="8c7b9edf-1377-4d38-b221-47a9f52c34a3"/> <textFieldExpression><![CDATA[$F{top}.get("company").get("legal_name").asText() + ", " + $F{top}.get("pay_run").get("actual_t").asText()]]></textFieldExpression> </textField> </band> </title> <detail> <band height="420" splitType="Stretch"> <componentElement> <reportElement x="0" y="20" width="520" height="400" uuid="5e3b943e-010c-4754-835d-d01807e66701"> <property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.VerticalRowLayout"/> <property name="com.jaspersoft.studio.table.style.table_header" value="Table_TH"/> <property name="com.jaspersoft.studio.table.style.column_header" value="Table_CH"/> <property name="com.jaspersoft.studio.table.style.detail" value="Table_TD"/> </reportElement> <jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd"> <datasetRun subDataset="Employees" uuid="c0ea6019-8850-42da-abf4-3773fce40409"> <dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}.subDataSource("employee.*")]]></dataSourceExpression> </datasetRun> <jr:column width="510" uuid="e4eda8c4-742e-4f0e-8771-072d081e8e2e"> <property name="com.jaspersoft.studio.components.table.model.column.name" value="Column1"/> <jr:tableHeader style="Table_TH" height="40" rowSpan="1"> <textField> <reportElement style="Table_TH" x="0" y="0" width="502" height="32" uuid="d5e0888d-0a79-4da0-8ec6-252d674b81b9"/> <textFieldExpression><![CDATA[(function () { var a = new Object($F{top}.get("buss")); var b = []; for (var p in a) { b.push(a[p]); } return new net.sf.jasperreports.engine.data.JRMapArrayDataSource(b); }).apply()]]></textFieldExpression> </textField> </jr:tableHeader> <jr:columnHeader height="186" rowSpan="1"> <property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.grid.JSSGridBagLayout"/> <box topPadding="0" leftPadding="0" bottomPadding="0" rightPadding="0"/> <textField> <reportElement style="Table_TH" x="0" y="0" width="510" height="30" uuid="3bcfb36e-a0f3-4dea-b65c-ac27c0cd2078"> <property name="com.jaspersoft.layout.grid.x" value="0"/> <property name="com.jaspersoft.layout.grid.y" value="0"/> <property name="com.jaspersoft.layout.grid.weight.x" value="1.0"/> <property name="com.jaspersoft.layout.grid.weight.y" value="1.0"/> <property name="com.jaspersoft.layout.grid.rowspan" value="1"/> <property name="com.jaspersoft.layout.grid.colspan" value="2"/> <property name="com.jaspersoft.layout.grid.weight.fixed" value="true"/> </reportElement> <textFieldExpression><![CDATA[$F{top}.get("title").get("" + $F{title}).get("title").asText() + " " + $F{name} + " (" + $F{email} + ")"]]></textFieldExpression> </textField> <frame> <reportElement x="0" y="30" width="300" height="156" uuid="e3863d13-f57c-4e26-be43-c356442e665c"> <property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.VerticalRowLayout"/> <property name="com.jaspersoft.layout.grid.x" value="0"/> <property name="com.jaspersoft.layout.grid.y" value="1"/> <property name="com.jaspersoft.layout.grid.weight.x" value="1.0"/> <property name="com.jaspersoft.layout.grid.weight.y" value="1.0"/> <property name="com.jaspersoft.layout.grid.rowspan" value="6"/> <property name="com.jaspersoft.layout.grid.colspan" value="1"/> <property name="com.jaspersoft.layout.grid.weight.fixed" value="true"/> </reportElement> <staticText> <reportElement style="Table_CH" x="0" y="0" width="300" height="26" uuid="44d8982c-5fbd-4a56-a1db-21eb2c4294da"/> <text><![CDATA[Gross pay]]></text> </staticText> <staticText> <reportElement style="Table_CH" x="0" y="26" width="300" height="26" uuid="de135741-9a2b-4a18-9b87-b0a81f01ebe4"/> <text><![CDATA[Deductions]]></text> </staticText> <staticText> <reportElement style="Table_CH" x="0" y="52" width="300" height="26" uuid="2f488537-3ca8-4483-ba19-5b88b06d03cd"/> <text><![CDATA[Net pay]]></text> </staticText> <staticText> <reportElement style="Table_CH" x="0" y="78" width="300" height="26" uuid="e4a4df17-71fd-431b-9459-785a9b2e9777"/> <text><![CDATA[Tax reference]]></text> </staticText> <staticText> <reportElement style="Table_CH" x="0" y="104" width="300" height="26" uuid="bf27d631-7ff1-40aa-9ae9-350ea1823ed5"/> <text><![CDATA[Tax basis]]></text> </staticText> <staticText> <reportElement style="Table_CH" x="0" y="130" width="300" height="26" uuid="de7f5bd1-df08-4b28-a13c-1ba604133ff1"/> <text><![CDATA[bank Account]]></text> </staticText> </frame> <frame> <reportElement x="300" y="30" width="210" height="156" uuid="1628fbd8-cc7b-4213-b45e-c9bef24dce5e"> <property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.VerticalRowLayout"/> <property name="com.jaspersoft.layout.grid.x" value="1"/> <property name="com.jaspersoft.layout.grid.y" value="1"/> <property name="com.jaspersoft.layout.grid.weight.x" value="1.0"/> <property name="com.jaspersoft.layout.grid.weight.y" value="1.0"/> <property name="com.jaspersoft.layout.grid.rowspan" value="6"/> <property name="com.jaspersoft.layout.grid.colspan" value="1"/> <property name="com.jaspersoft.layout.grid.weight.fixed" value="true"/> </reportElement> <textField> <reportElement style="Table_TD" x="0" y="0" width="210" height="26" uuid="e0dda6f4-d5b9-4934-9f59-6250999ce20e"/> <textFieldExpression><![CDATA[parseFloat($F{pay_graph_results}.get("gross_pay")).toFixed(2)]]></textFieldExpression> </textField> <textField> <reportElement style="Table_TD" x="0" y="26" width="210" height="26" uuid="3247e522-006c-400f-8ff4-98a9b6ed75ea"/> <textFieldExpression><![CDATA[($F{pay_graph_results}.get("gross_pay") - $F{pay_graph_results}.get("net_pay")).toFixed(2)]]></textFieldExpression> </textField> <textField> <reportElement style="Table_TD" x="0" y="52" width="210" height="26" uuid="51e5b667-68ee-47fd-8c4a-260ec22107df"/> <textFieldExpression><![CDATA[parseFloat($F{pay_graph_results}.get("net_pay")).toFixed(2)]]></textFieldExpression> </textField> <textField> <reportElement style="Table_TD" x="0" y="78" width="210" height="26" uuid="04f7103e-c02c-42c0-bcd1-3ab95a14b800"/> <textFieldExpression><![CDATA[$F{ee_tax_basis}]]></textFieldExpression> </textField> <textField> <reportElement style="Table_TD" x="0" y="104" width="210" height="26" uuid="569a62af-4210-479a-8f9c-1b8f94806226"/> <textFieldExpression><![CDATA[(function () {var a=""+$F{ee_tax_reference}; return a.substr(0, a.length-3).replace(/w/gi, "*") + a.substr(a.length - 3);}).apply()]]></textFieldExpression> </textField> <textField> <reportElement style="Table_TD" x="0" y="130" width="210" height="26" uuid="66a4611f-219a-4c07-9521-7eaa1e9e7e3e"/> <textFieldExpression><![CDATA[(function () {var a=""+$F{ee_bank_account}; return a.substr(0, a.length-3).replace(/w/gi, "*") + a.substr(a.length - 3);}).apply()]]></textFieldExpression> </textField> </frame> </jr:columnHeader> <jr:detailCell height="137"> <box topPadding="20"/> <componentElement> <reportElement x="0" y="0" width="510" height="117" uuid="d38e0fea-3e6d-4eed-bf6d-b13997fb05a1"> <property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.VerticalRowLayout"/> <property name="com.jaspersoft.studio.table.style.table_header" value="Table_TH"/> <property name="com.jaspersoft.studio.table.style.column_header" value="Table_CH"/> <property name="com.jaspersoft.studio.table.style.detail" value="Table_TD"/> </reportElement> <jr:table> <datasetRun subDataset="Busses" uuid="54507be6-3136-4590-9ec4-a33ce73911e5"> <datasetParameter name="employee_key"> <datasetParameterExpression><![CDATA[$F{id}]]></datasetParameterExpression> </datasetParameter> <dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}.subDataSource("employee_id")]]></dataSourceExpression> </datasetRun> <jr:column width="100" uuid="299a669e-1c4d-4767-85ec-fd7b1cd2f75e"> <property name="com.jaspersoft.studio.components.table.model.column.name" value="Column1"/> <jr:columnHeader height="40" rowSpan="1"> <staticText> <reportElement style="Table_CH" x="0" y="0" width="100" height="40" uuid="fbcbda95-9897-455e-88eb-6419f0d356de"/> <text><![CDATA[name]]></text> </staticText> </jr:columnHeader> <jr:detailCell height="40"> <textField> <reportElement style="Table_TD" x="0" y="0" width="100" height="40" uuid="2d9a305c-1da2-4cae-8b7d-0e23e905464f"/> <textFieldExpression><![CDATA[$F{name}]]></textFieldExpression> </textField> </jr:detailCell> </jr:column> <jr:column width="200" uuid="de42aaac-a2fe-4481-a710-89bc00c8f419"> <property name="com.jaspersoft.studio.components.table.model.column.name" value="Column2"/> <jr:columnHeader height="40" rowSpan="1"> <staticText> <reportElement style="Table_CH" x="0" y="0" width="200" height="40" uuid="8d3966a4-4032-440e-b608-209247fe7aa0"/> <text><![CDATA[description]]></text> </staticText> </jr:columnHeader> <jr:detailCell height="40"> <textField> <reportElement style="Table_TD" x="0" y="0" width="200" height="40" uuid="e0228ace-c766-4ace-8feb-664e04b67924"/> <textFieldExpression><![CDATA[$F{description}]]></textFieldExpression> </textField> </jr:detailCell> </jr:column> <jr:column width="110" uuid="bc371f28-90bc-452e-9ce7-7ae30e4f905b"> <property name="com.jaspersoft.studio.components.table.model.column.name" value="Column3"/> <jr:columnHeader height="40" rowSpan="1"> <staticText> <reportElement style="Table_CH" x="0" y="0" width="110" height="40" uuid="8c203d8b-25e7-4e73-9890-6bfe941c099c"/> <text><![CDATA[periodValue]]></text> </staticText> </jr:columnHeader> <jr:detailCell height="40"> <textField> <reportElement style="Table_TD" x="0" y="0" width="110" height="40" uuid="6605a07f-e2c1-4264-9d75-5b92cda707e1"/> <textFieldExpression><![CDATA["z"]]></textFieldExpression> </textField> </jr:detailCell> </jr:column> <jr:column width="100" uuid="a02cfe69-4b53-4ebb-94a7-70cf5e1166f9"> <property name="com.jaspersoft.studio.components.table.model.column.name" value="Column4"/> <jr:columnHeader height="40" rowSpan="1"> <staticText> <reportElement style="Table_CH" x="0" y="0" width="100" height="40" uuid="72715923-8cc3-46ca-8a53-f02d3f22600f"/> <text><![CDATA[yearToDateValue]]></text> </staticText> </jr:columnHeader> <jr:detailCell height="40"> <textField> <reportElement style="Table_TD" x="0" y="0" width="100" height="40" uuid="d9c971ce-1ad1-4935-9873-2d969b4e1c8b"/> <textFieldExpression><![CDATA["s"]]></textFieldExpression> </textField> </jr:detailCell> </jr:column> </jr:table> </componentElement> </jr:detailCell> </jr:column> </jr:table> </componentElement> </band> </detail></jasperReport>[/code]and sample JSON: { "buss": { "10001": { "id": 10001, "name": "company0", "description": "Custom use 0", "jurisdiction": "Company" }, "10002": { "id": 10002, "name": "company1", "description": "Custom use 1", "jurisdiction": "Company" }, "10003": { "id": 10003, "name": "company2", "description": "Custom use 2", "jurisdiction": "Company" }, "10004": { "id": 10004, "name": "company3", "description": "Custom use 3", "jurisdiction": "Company" }, "10005": { "id": 10005, "name": "company4", "description": "Custom use 4", "jurisdiction": "Company" }, "10006": { "id": 10006, "name": "company5", "description": "Custom use 5", "jurisdiction": "Company" }, "10007": { "id": 10007, "name": "company6", "description": "Custom use 6", "jurisdiction": "Company" }, "10008": { "id": 10008, "name": "company7", "description": "Custom use 7", "jurisdiction": "Company" }, "10009": { "id": 10009, "name": "company8", "description": "Custom use 8", "jurisdiction": "Company" }, "10010": { "id": 10010, "name": "company9", "description": "Custom use 9", "jurisdiction": "Company" }, "10011": { "id": 10011, "name": "bonus_eligible_pay", "description": "Bonus-eligible pay", "jurisdiction": "Universal" }, "10012": { "id": 10012, "name": "holidays_accrued", "description": "Holidays accrued", "jurisdiction": "Universal" }, "10013": { "id": 10013, "name": "holidays_taken", "description": "Holidays taken", "jurisdiction": "Universal" }, "10014": { "id": 10014, "name": "net_pay", "description": ".Net pay", "jurisdiction": "Universal" }, "10015": { "id": 10015, "name": "PE", "description": "Pension-eligible pay", "jurisdiction": "Universal" }, "10016": { "id": 10016, "name": "pension", "description": "Pension saving", "jurisdiction": "Universal" }, "10017": { "id": 10017, "name": "gross_pay", "description": ".Gross pay", "jurisdiction": "Universal" }, "10018": { "id": 10018, "name": "sick_days_taken", "description": "Sick days taken", "jurisdiction": "Universal" }, "10019": { "id": 10019, "name": "PBIK", "description": "Payroll benefits in kind", "jurisdiction": "Universal" }, "20001": { "id": 20001, "name": "paye_gp", "description": "Gross pay for PAYE purposes", "jurisdiction": "GB" }, "20002": { "id": 20002, "name": "nic_gp", "description": "Gross pay for NIC purposes", "jurisdiction": "GB" }, "20003": { "id": 20003, "name": "QE", "description": "Qualifying earnings", "jurisdiction": "GB" }, "20004": { "id": 20004, "name": "income_tax", "description": "PAYE.Tax paid", "jurisdiction": "GB" }, "20005": { "id": 20005, "name": "nic_ee", "description": "NIC.Employee", "jurisdiction": "GB" }, "20006": { "id": 20006, "name": "nic_er", "description": "NIC.Employer", "jurisdiction": "GB" }, "20007": { "id": 20007, "name": "sl_recovered", "description": "Student Loan recovered", "jurisdiction": "GB" }, "20008": { "id": 20008, "name": "ae_pension", "description": "AE Pension", "jurisdiction": "GB" } }, "title": { "1": { "id": 1, "title": "Mr.", "is_suffix": false }, "2": { "id": 2, "title": "Ms.", "is_suffix": false }, "3": { "id": 3, "title": "Mrs.", "is_suffix": false }, "4": { "id": 4, "title": "Miss.", "is_suffix": false } }, "client": { "id": 62, "legal_name": "HMRC" }, "company": { "id": 112, "client": 62, "legal_name": "HMRC RTI Recognition", "jurisdiction": "GB" }, "pay_run": { "id": 1562, "manual": true, "next_t": "2019-04-30", "company": 112, "actual_t": "2019-03-31", "schedule": 73, "target_t": "2019-03-31", "tax_week": 52, "tax_year": 2018, "frequency": "m1", "tax_month": 12, "scale_factor": 0.08333333333333333, "pay_period_last_day": "2019-04-05", "pay_period_first_day": "2019-03-06" }, "success": true, "employee": { "293": { "id": 293, "name": "Jimmy Restof-Uk", "email": "Jimmy.Restof-Uk@hmrc.co.uk", "state": { "report": { "GB RTI FPS": { "Starter": "2018-01-01" } }, "actual_t": "2019-02-28", "pay_graph": { "": { "Net pay.YTD": 14974.68, "Gross pay.YTD": 20400.0 }, "NIC": { "Employee.YTD": 1437.1200000000001, "Employer.YTD": 1652.64, "Current Letter": "A", "Letters and Values": "[{"GP": "1700.00", "GP-YTD": "20400.00", "LEL-YTD": "6036.00", "LEL-PT-YTD": "2388.00", "PT-UEL-YTD": "11976.00", "Er": "137.72", "Er-YTD": "1652.64", "Ee": "119.76", "Ee-YTD": "1437.12", "Letter": "A"}]" }, "PAYE": { "W1_M1": false, "PBIK-YTD": 0.0, "Tax code": "45L", "Tax paid.YTD": 3988.2, "Gross pay, YTD": 20400.0, "Taxable pay.YTD": 20400.0, "Starting declaration": "" } } }, "title": 1, "groups": [], "mobile": "+447000123456", "company": 112, "end_date": "2019-04-05", "is_staff": false, "password": "pbkdf2_sha256$120000$KHRUWPqJ8SBk$eCCUY4MHB3pnsDAlyC514jRKuTUe4M8HE5RHoAeY5qQ=", "user_ptr": 293, "pay_graph": 2, "taxdetail": { "id": 212, "gender": "M", "employee": 293, "NI_number": "KC489444C", "NI_category": "General", "P45_tax_code": null, "student_loan": 0, "week1_month1": false, "date_of_birth": "1995-08-14", "SL_start_notice": 0, "tax_code_notice": "45L", "P45_leaving_date": null, "company_director": false, "employee_statement": null, "weekly_hours_worked": "D", "P45_total_pay_to_date": null, "P45_total_tax_to_date": null, "company_director_from": null, "employeetaxdetail_ptr": 212, "Director_NI_cumulative": false, "employeetaxeedetail_ptr": 212, "P45_continue_student_loan": 0 }, "bankdetail": { "id": 202, "employee": 293, "sort_code": "162534", "account_name": "Jimmy Restof-Uk", "account_number": "12345678", "employeebankdetail_ptr": 202 }, "department": 129, "last_login": "2018-12-08T14:22:43.048Z", "start_date": "2018-01-01", "employee_id": "TAX1", "cost_centres": [], "ee_tax_basis": "(A) 45L", "is_superuser": false, "postaldetail": { "id": 212, "line1": "1 Tax Test Road", "line2": "PAYE Town", "line3": "", "line4": "", "employee": 293, "postcode": "BN1 1YD", "employeepostaldetail_ptr": 212 }, "pay_after_end": "", "test_employee": false, "ee_bank_account": "162534 12345678", "participant_ptr": 293, "ee_tax_reference": "KC489444C", "pay_graph_inputs": { "Salary": { "id": 967, "Base Salary": 20400 } }, "user_permissions": [], "pay_graph_outputs": { "NIC": { "Employee NIC": -119.76, "Employer NIC": -137.72 }, "PAYE": { "Tax Deduction": -332.4 }, "Salary": { "Pay, base": 1700.0 } }, "pay_graph_results": { "PE": 1700.0, "QE": 1700.0, "nic_ee": -119.76, "nic_er": -137.72, "nic_gp": 1700.0, "net_pay": 1247.8400000000001, "paye_gp": 1700.0, "gross_pay": 1700.0, "income_tax": -332.4, "bonus_eligible_pay": 1700.0 } } }}[/code]