Components
payslip
A presentational French payslip — employer/employee header, contributions table and computed net to pay.
Pro component. Install it with a license key — see Pro components.
A presentational French payslip (bulletin de paie): an employer/employee header, a contributions table with employee and employer rates and amounts, and the computed net to pay. Data-driven — not a legal substitute for a compliant payroll engine.
import { payslip } from "@/liasse/components/payslip";
import { render } from "@liasse/core";
import "@liasse/xlsx";
const doc = payslip({
employer: { name: "ACME SARL", details: ["SIRET 812 345 678 00021"] },
employee: { name: "Camille Martin", details: ["Développeuse"] },
period: "Juin 2026",
payDate: "30/06/2026",
grossSalary: 3500,
lines: [
{ label: "Sécurité sociale plafonnée", base: 3500, salarialRate: 0.069, salarial: 241.5, patronalRate: 0.0855, patronal: 299.25 },
{ label: "CSG/CRDS", base: 3441.5, salarialRate: 0.029, salarial: 99.8 },
],
netImposable: 2950,
});
const bytes = await render(doc, { format: "xlsx" });Input
| Field | Type | Description |
|---|---|---|
employer | PayslipParty | { name, details?: string[] }. |
employee | PayslipParty | { name, details?: string[] }. |
period | string | Pay period, e.g. "Juin 2026". |
payDate? | string | Payment date. |
grossSalary | number | Gross salary (salaire brut). |
lines | PayslipLine[] | { label, base?, salarialRate?, salarial?, patronalRate?, patronal? }. |
netImposable? | number | Taxable net, shown when provided (never guessed). |
The contributions table totals the employee and employer columns with =SUM,
and the component computes net à payer = grossSalary − Σ salarial.