1import{S as F}from"../chunks/CZ0-C2ge.js";import{a as C,f as x}from"../chunks/DrOPXrOv.js";import{p as V,ak as T,a as j,s as e,al as U,f as q,c as o,n as i,b as r,an as M}from"../chunks/Djf3su6h.js";import{s as t}from"../chunks/BHvpSVld.js";import{S as G}from"../chunks/B26WdNcG.js";import{S as H}from"../chunks/B6NBbBPR.js";import{R as L}from"../chunks/BijQ7ZSR.js";import{r as a}from"../chunks/DHIaYXdn.js";const Y=()=>{const n=F.pages["/resources/payroll/custom-earning-type-setup"];return{title:n.title,description:n.description,keywords:n.keywords.join(", ")}},ne=Object.freeze(Object.defineProperty({__proto__:null,load:Y},Symbol.toStringTag,{value:"Module"}));var J=x(`<div class="callout"><h2>At a glance</h2> <ul class="fact-list"><li><strong>System earning types</strong> are precise classifications Beanflow processes end to end 2 (CPP, EI, tax, T4, Vacationable Earnings, WCB). Start there whenever one matches.</li> <li><strong>Custom earnings</strong> are for payments that are real payroll income or taxable 3 benefits but need <em>you</em> to own the classification facts. Beanflow calculates from what 4 you select.</li> <li>Cash flow and T4 are separate choices. âAdds cash to this payrollâ is not the same question 5 as âWhich T4 profile?â</li> <li>Only four T4 reporting profiles exist today. If CRA treatment needs a code outside those 6 four (for example loan interest benefits with Code 36), do not force a custom earning.</li> <li>The T4 profile is snapshotted onto the approved payroll record. Choose it before the first 7 approved run that uses the type.</li></ul></div> <h2>1. When to use a system type vs a custom earning</h2> <ol><li>Open the <a>earning type reference</a> and search for the payment.</li> <li>If a <strong>supported system type</strong> matches (for example Bonus, Tips (Employer-Controlled), 8 Cellular Service Allowance, Expense Reimbursement), use it. Do not rebuild it as custom.</li> <li>If the payment belongs to a <strong>dedicated workflow</strong> (vacation pay, holiday pay, sick 9 pay, group life), use that workflow.</li> <li>If the concept is in <strong>Outside this earning catalog</strong> (direct tips, true WCB advances, 10 severance, stock options, directorsâ fees), stop â custom is not the right tool.</li> <li>Otherwise, follow a <strong>custom earning recipe</strong> on the reference page, or the field guide 11 below.</li></ol> <h2>2. Create Custom Earning â field by field</h2> <p>Open the earning picker in a payroll draft and choose <strong>Create Custom Earning</strong>. 12 Fill each field from the facts of the payment â not from a guess.</p> <h3>Name and category</h3> <p>Use a name your team will recognize on paystubs and year-end review (for example âVoting leave 13 pay â 2026-10â). Category is for your own grouping; it does not rewrite CRA treatment.</p> <h3>CPP applicable / EI applicable</h3> <p>These are <strong>employer-owned classifications</strong>. They follow CRA treatment of <em>this</em> payment. There is no safe universal default for every top-up, award, or leave payment 14 â check the facts (or your advisor) before you select Yes.</p> <h3>Income tax method</h3> <ul><li><strong>Regular</strong> â ordinary remuneration taxed on the period.</li> <li><strong>Bonus</strong> â irregular / bonus method for the payment (common for gifts, rewards, retro-style 15 payments).</li> <li><strong>Lump Sum</strong> â CRA lump-sum withholding method, for qualifying lump-sum payments such as 16 a lump-sum back-pay settlement. Use it only when the payment facts match lump-sum treatment.</li> <li><strong>None</strong> â only when the amount is not income-taxable (for example a qualifying non-taxable 17 reimbursement).</li></ul> <p>Federal and provincial income-tax flags must agree with the selected method: regular, bonus, and 18 lump sum need both tax flags on; none needs both off. Asymmetric combinations are not accepted.</p> <h3>Adds cash to this payroll</h3> <p><strong>Checked:</strong> the amount increases employee net cash pay (a cash allowance, a cash gift, 19 wages).</p> <p><strong>Unchecked:</strong> the amount is reportable but does not add cash again â for example a non-cash 20 taxable benefit, or a taxable reclassification of cash that was already paid.</p> <h3>T4 reporting profile</h3> <p>Choose one of the four profiles that Create Custom Earning offers today:</p> <ul><li><strong>Employment income</strong> â Box 14 only.</li> <li><strong>Taxable benefit</strong> â Box 14 and Other Information <strong>Code 40</strong> (taxable benefits and allowances that CRA reports with Code 40).</li> <li><strong>Taxable board and lodging</strong> â Box 14 and Other Information <strong>Code 30</strong>.</li> <li><strong>Not on T4</strong> â not reported on the T4 slip.</li></ul> <p>
20Do not pick a profile that âlooks close.â If CRA needs Code 36 (loan interest benefits) or Code 21 66/67 (severance / retiring allowance facts), current custom profiles cannot express the slip â 22 see <a>Outside this earning catalog</a>.</p> <h3>Vacationable and WCB</h3> <p>For custom earnings, <em>you</em> decide whether the amount enters the Vacationable Earnings base 23 and whether it is WCB assessable. System earnings follow annual statutory rules automatically; custom 24 earnings never inherit a system rule just because the name looks similar.</p> <h2>3. Worked recipes</h2> <p>Full recipes live on the <a>earning type reference</a>. Short versions for the most common cases:</p> <h3>Bereavement or voting leave pay</h3> <ul><li>T4 profile: <strong>Employment income</strong></li> <li>Adds cash: usually yes</li> <li>CPP / EI / tax / VE / WCB: classify from the payment facts</li></ul> <h3>Cash prize or long-service award</h3> <ul><li>T4 profile: <strong>Taxable benefit</strong> (Box 14 + Code 40) when that matches CRA treatment</li> <li>Prefer system Reward / Gift types when they match the business fact</li> <li>Qualifying multi-year award exemptions are not automated</li></ul> <h3>Taxable phone or Internet (outside cellular system types)</h3> <ul><li>Prefer system <strong>Cellular Service Allowance (Cash, Taxable)</strong> or <strong>Cellular Service Taxable Benefit (Non-Cash)</strong> when they match</li> <li>Custom T4 profile: <strong>Taxable benefit</strong> so year-end includes <strong>Code 40</strong> â do not use Employment income (Box 14 only)</li> <li>Cash-flow: check âAdds cashâ for a cash allowance; uncheck for an employer-paid service 25 benefit</li></ul> <h3>Denied or unrepaid WCB advance (taxable reclassification)</h3> <ul><li>T4 profile: <strong>Employment income</strong></li> <li><strong>Uncheck</strong> âAdds cash to this payrollâ â the cash was already paid; this entry only 26 reclassifies</li> <li>Never create a true WCB advance as an earning</li></ul> <h2>4. What custom earnings cannot do</h2> <ul><li>They cannot invent CRA codes outside the four T4 profiles (including Code 36).</li> <li>They cannot infer statutory severance / retiring-allowance eligibility (Codes 66/67).</li> <li>They cannot model true advances/loans, stock options, or directorsâ fee calculations.</li> <li>They cannot impersonate a verified statutory system classification for Vacationable Earnings.</li></ul> <h2>5. Year-end: the profile is frozen</h2> <p>When a custom earning is first approved in a payroll run, Beanflow snapshots the classification 27 including the T4 reporting profile onto that record. Changing the type later does not rewrite 28 approved history. Fix the setup before you approve the first run that uses it.</p> <footer class="article-footer"><p class="related-label">Related payroll resources</p> <p class="related-links"><a>Earning types</a> <span aria-hidden="true">·</span> <a>Earnings & Deductions</a> <span aria-hidden="true">·</span> <a>T4 year-end guide</a> <span aria-hidden="true">·</span> <a>CPP & EI withholding</a></p></footer>`,1),Q=x("<!> <!> <!>",1);function se(n,s){V(s,!0);let k=M(()=>JSON.stringify({"@context":"https://schema.org","@type":"TechArticle",headline:"How to set up a custom earning type in Beanflow Payroll",description:s.data.description,author:{"@type":"Organization","@id":"https://beanflow.ai/#organization"},publisher:{"@type":"Organization","@id":"https://beanflow.ai/#organization"},datePublished:"2026-09-25",dateModified:"2026-09-25",mainEntityOfPage:{"@type":"WebPage","@id":"https://beanflow.ai/resources/payroll/custom-earning-type-setup"}}));var h=Q(),d=T(h);G(d,{get title(){return s.data.title},get description(){return s.data.description},get keywords(){return s.data.keywords},ogType:"article",ogImage:"/og-default.png",publishedTime:"2026-09-25",modifiedTime:"2026-09-25",section:"Payroll"});var u=e(d,2);H(u,{get jsonLd(){return q(k)}});var _=e(u,2);L(_,{title:"How to set up a custom earning type",lede:"When a real payroll payment does not match a Beanflow system earning type, check whether a dedicated workflow or a supported custom earning recipe covers it â some concepts are outside the current earning catalog entirely. This guide walks through every Create Custom Earning field, the four T4 reporting profiles you can choose today, and worked recipes for common payments.",updated:"September 2026",children:(E,K)=>{var g=J(),l=e(T(g),4),m=o(l),B=e(o(m));i(),r(m),i(8),r(l);var c=e(l,32),A=e(o(c));i(),r(c);var p=e(c,8),S=e(o(p));i(),r(p);var f=e(p,26),y=e(o(f),2),b=o(y),w=e(b,4),v=e(w,4),O=e(v,4);r(y),r(f),U((P,I,R,W,z,N,D)=>{t(B,"href",P),t(A,"href",`${I??""}#outside-catalog`),t(S,"href",`${R??""}#custom-earning-recipes`),t(b,"href",W),t(w,"href",z),t(v,"href",N),t(O,"href",D)},[()=>a("/resources/payroll/earnings-and-deductions/earnings"),()=>a("/resources/payroll/earnings-and-deductions/earnings"),()=>a("/resources/payroll/earnings-and-deductions/earnings"),()=>a("/resources/payroll/earnings-and-deductions/earnings"),()=>a("/resources/payroll/earnings-and-deductions"),()=>a("/resources/payroll/t4-year-end-guide"),()=>a("/resources/payroll/cpp-ei-withholding")]),C(E,g)},$$slots:{default:!0}}),C(n,h),j()}export{se as component,ne as universal};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.