PageSourceSearch

https://www.amtaxhub.com/assets/pdfGenerator-BjyKFsTP.js

js amtaxhub.com collected 2026-09-24 14:38:52 UTC 15,683 bytes, 1 lines download raw bytes

1import{t}from"./vendor-pdf-BV8JfPCz.js";function e(t,e="salary",a="2027",s={}){const r={address:s.address||"Pakistan",phone:s.phone||"+92 327 0444011",email:s.email||"[email protected]"},i=new Image;i.onload=()=>{"wealth_statement"===e||t.multiYearSummaries?l(t,i,a,r):o(t,e,i,a,r)},i.onerror=()=>{"wealth_statement"===e||t.multiYearSummaries?l(t,null,a,r):o(t,e,null,a,r)},i.src="/letterhead.png"}function o(e,o,l,s="2027",r={}){const i=new t({orientation:"portrait",unit:"mm",format:"a4"}),n=[30,41,59],c=[30,168,199],d=[212,175,55],x=[100,116,139],F=[248,250,252],u=[255,255,255];if(l)try{i.addImage(l,"PNG",0,0,210,297),function(t,e={}){t.setFillColor(255,255,255),t.rect(137,25,73,31,"F"),t.setFont("Helvetica","normal"),t.setFontSize(7.2),t.setTextColor(30,41,59),t.text(`Phone: ${e.phone||"+92 327 0444011"}`,143,32,{maxWidth:62}),t.text(`Email: ${e.email||"[email protected]"}`,143,39,{maxWidth:62}),t.text("Web: www.amtaxhub.com",143,46,{maxWidth:62}),t.text(`Address: ${e.address||"Pakistan"}`,143,53,{maxWidth:62}),t.setFillColor(2,111,122),t.rect(157,287,50,7,"F"),t.setTextColor(255,255,255),t.setFontSize(6.5),t.text(e.email||"[email protected]",159,291.5,{maxWidth:46})}(i,r)}catch{a(i,n,d,c,u,r)}else a(i,n,d,c,u,r);const T=!!l,m=T?72:52,C=T?77:58,S=T?82:64,A=T?20:26,b=T?110:102,R=T?115:107,h=T?8:10,f=e.title||"TAX ESTIMATION REPORT",v=e.categoryLabel||"FBR Income Tax - TY 2027";i.setTextColor(...n),i.setFont("Helvetica","bold"),i.setFontSize(14),i.text(f,15,m);const w=parseInt(s),p=`${w-1}–${w}`;i.setFont("Helvetica","normal"),i.setFontSize(8.5),i.setTextColor(...x),i.text(`Tax Year: ${p}  |  Category: ${v}  |  Generated: ${(new Date).toLocaleDateString("en-PK")}`,15,C);let H="GROSS VALUE",E="Rs. 0",z="ESTIMATED TAX",g="Rs. 0";if(e.metrics&&3===e.metrics.length){const t=e.metrics[0],o=e.metrics[1],a=e.metrics[2],l=56;i.setFillColor(...F),i.roundedRect(15,S,l,A,3,3,"F"),i.setDrawColor(226,232,240),i.roundedRect(15,S,l,A,3,3,"D"),i.setFontSize(6.2),i.setFont("Helvetica","normal"),i.setTextColor(...x),i.text(t.label,19,S+(T?6.5:7)),i.setFontSize(10),i.setFont("Helvetica","bold"),i.setTextColor(...n),i.text(t.value,19,S+(T?14:17)),i.setFillColor(...F),i.roundedRect(77,S,l,A,3,3,"F"),i.setDrawColor(226,232,240),i.roundedRect(77,S,l,A,3,3,"D"),i.setFontSize(6.2),i.setFont("Helvetica","normal"),i.setTextColor(...x),i.text(o.label,81,S+(T?6.5:7)),i.setFontSize(10),i.setFont("Helvetica","bold"),i.setTextColor(...n),i.text(o.value,81,S+(T?14:17)),i.setFillColor(254,249,195),i.roundedRect(139,S,l,A,3,3,"F"),i.setDrawColor(253,224,71),i.roundedRect(139,S,l,A,3,3,"D"),i.setFontSize(6.2),i.setFont("Helvetica","bold"),i.setTextColor(161,98,7),i.text(a.label,143,S+(T?6.5:7)),i.setFontSize(10),i.setFont("Helvetica","bold"),i.setTextColor(161,98,7),i.text(a.value,143,S+(T?14:17))}else if(e.metrics&&e.metrics.length>=2)H=e.metrics[0].label,E=e.metrics[0].value,z=e.metrics[1].label,g=e.metrics[1].value,i.setFillColor(...F),i.roundedRect(15,S,85,A,3,3,"F"),i.setDrawColor(226,232,240),i.roundedRect(15,S,85,A,3,3,"D"),i.setFontSize(7.5),i.setFont("Helvetica","normal"),i.setTextColor(...x),i.text(H,20,S+(T?6.5:7)),i.setFontSize(12),i.setFont("Helvetica","bold"),i.setTextColor(...n),i.text(E,20,S+(T?14:17)),i.setFillColor(254,242,242),i.roundedRect(110,S,85,A,3,3,"F"),i.setDrawColor(254,202,202),i.roundedRect(110,S,85,A,3,3,"D"),i.setFontSize(7.5),i.setFont("Helvetica","normal"),i.setTextColor(185,28,28),i.text(z,115,S+(T?6.5:7)),i.setFontSize(12),i.setFont("Helvetica","bold"),i.setTextColor(185,28,28),i.text(g,115,S+(T?14:17));else{const t=new Intl.NumberFormat("en-PK",{style:"currency",currency:"PKR",maximumFractionDigits:0});"salary"===o||"business"===o?(H="ANNUAL TAXABLE INCOME",E=t.format(e.annualIncome||0),z="ESTIMATED ANNUAL TAX",g=t.format(e.annualTax||0)):"property"===o?(H="PROPERTY EVALUATED VALUE",E=t.format(e.propertyValue||0),z="WITHHOLDING TAX PAYABLE",g=t.format(e.taxPayable||0)):"vehicle"===o?(H="ENGINE CAPACITY (CC)",E=`${e.engineCapacity||0} CC`,z="REGISTRATION TAX",g=t.format(e.taxPayable||0)):(H="GROSS TRANS VALUE",E=t.format(e.propertyValue||e.profitAmount||e.withdrawalAmount||0),z="TAX PAYABLE",g=t.format(e.taxPayable||e.annualTax||0)),i.setFillColor(...F),i.roundedRect(15,S,85,A,3,3,"F"),i.setDrawColor(226,232,240),i.roundedRect(15,S,85,A,3,3,"D"),i.setFontSize(7.5),i.setFont("Helvetica","normal"),i.setTextColor(...x),i.text(H,20,S+(T?6.5:7)),i.setFontSize(12),i.setFont("Helvetica","bold"),i.setTextColor(...n),i.text(E,20,S+(T?14:17)),i.setFillColor(254,242,242),i.roun
1dedRect(110,S,85,A,3,3,"F"),i.setDrawColor(254,202,202),i.roundedRect(110,S,85,A,3,3,"D"),i.setFontSize(7.5),i.setFont("Helvetica","normal"),i.setTextColor(185,28,28),i.text(z,115,S+(T?6.5:7)),i.setFontSize(12),i.setFont("Helvetica","bold"),i.setTextColor(185,28,28),i.text(g,115,S+(T?14:17))}i.setFont("Helvetica","bold"),i.setFontSize(11),i.setTextColor(...n);const y="zakat_calculator"===o?"Zakat Calculation Breakdown":"Detailed Financial Estimates";i.text(y,15,b),i.setFillColor(...n),i.rect(15,R,180,h,"F"),i.setTextColor(...u),i.setFont("Helvetica","bold"),i.setFontSize(8.5),i.text("Financial Metric / Description",19,R+(T?5.5:6.5));const I="zakat_calculator"===o?"Calculation Basis":"Rate";i.text(I,99,R+(T?5.5:6.5)),i.text("Amount (PKR)",159,R+(T?5.5:6.5));let D=[];if(e.tableRows&&Array.isArray(e.tableRows))D=e.tableRows.map(t=>({label:t.label,rate:t.rate,val:t.value,red:t.isRed,total:t.isTotal}));else{const t=new Intl.NumberFormat("en-PK",{style:"currency",currency:"PKR",maximumFractionDigits:0});D=[{label:"Gross Amount / Evaluated Value",rate:"100%",val:t.format(e.annualIncome||e.propertyValue||0)},{label:"Estimated Tax Liability",rate:e.rateText||"Slab Rate",val:"- "+t.format(e.annualTax||e.taxPayable||0),red:!0},{label:"Net Value Outcome",rate:"Final",val:t.format(e.annualTakeHome||e.netTransaction||0),total:!0}]}let P=R+h;D.forEach((t,e)=>{t.total?i.setFillColor(241,245,249):i.setFillColor(e%2==0?255:248,e%2==0?255:250,e%2==0?255:252),i.rect(15,P,180,h,"F"),i.setDrawColor(226,232,240),i.line(15,P+h,195,P+h),i.setFont("Helvetica",t.total?"bold":"normal"),i.setFontSize(8.5),t.red?i.setTextColor(185,28,28):t.total?i.setTextColor(...n):i.setTextColor(50,65,85),i.text(t.label,19,P+(T?5.5:6.5));let o=8.5;i.setFontSize(8.5);const a=i.getTextWidth(t.rate||"");a>54&&(o=Math.max(6.5,54/a*8.5)),i.setFontSize(o),t.red?i.setTextColor(185,28,28):t.total?i.setTextColor(...n):i.setTextColor(50,65,85),i.text(t.rate||"",99,P+(T?5.5:6.5)),i.setFontSize(8.5),t.red?i.setTextColor(185,28,28):t.total?i.setTextColor(...n):i.setTextColor(50,65,85),i.text(t.val||"",159,P+(T?5.5:6.5)),P+=h});const N=!!e.savingsLossText,L=T?N?23:16:N?30:22;i.setFont("Helvetica","bold"),i.setFontSize(10.5),i.setTextColor(...n);const k="zakat_calculator"===o?"Shariah Guidance Notes & Basis":"Regulatory Notes & Applicable Legal Clause";i.text(k,15,P+(T?8:12));const O=P+(T?11:16);i.setFillColor(...F),i.roundedRect(15,O,180,L,2,2,"F"),i.setDrawColor(226,232,240),i.roundedRect(15,O,180,L,2,2,"D");const B=e.clause||"Income Tax Ordinance 2001 (amended by Finance Act 2026)",M=e.note||"Estimated under current FBR tax slabs and Active Taxpayers List (ATL) rules.";if(i.setFontSize(8.5),i.setFont("Helvetica","bold"),i.setTextColor(...n),"zakat_calculator"===o?(i.text("Basis: ",20,O+(T?5.5:7)),i.setFont("Helvetica","normal"),i.setTextColor(50,65,85),i.text("Calculation Basis: Net Zakatable Wealth x 2.5%",32,O+(T?5.5:7))):(i.text("Clause: ",20,O+(T?5.5:7)),i.setFont("Helvetica","normal"),i.setTextColor(50,65,85),i.text(B,35,O+(T?5.5:7))),i.setFont("Helvetica","bold"),i.setTextColor(...n),i.text("zakat_calculator"===o?"Standard: ":"Note: ",20,O+(T?11:14)),i.setFont("Helvetica","normal"),i.setTextColor(50,65,85),i.text(M,"zakat_calculator"===o?36:32,O+(T?11:14)),N){const t=e.savingsLossLabel||"Status:",a=e.savingsLossText||"";i.setFont("Helvetica","bold"),"zakat_calculator"===o?i.setTextColor(161,98,7):"non_filer"===e.filerStatus||"late"===e.filerStatus?"late"===e.filerStatus?i.setTextColor(217,119,6):i.setTextColor(185,28,28):i.setTextColor(21,128,61),i.text(t,20,O+(T?16.5:21)),i.setFont("Helvetica","normal"),"zakat_calculator"===o?i.setTextColor(161,98,7):"non_filer"===e.filerStatus||"late"===e.filerStatus?"late"===e.filerStatus?i.setTextColor(217,119,6):i.setTextColor(185,28,28):i.setTextColor(21,128,61);const l=i.getTextWidth(t);i.text(a,20+l+2,O+(T?16.5:21))}const _=O+L+(T?5:8),Y=T?18:22;i.setFillColor(254,252,232),i.roundedRect(15,_,180,Y,2,2,"F"),i.setDrawColor(253,230,138),i.roundedRect(15,_,180,Y,2,2,"D"),i.setFont("Helvetica","bold"),i.setFontSize(8),i.setTextColor(146,64,14);const $="zakat_calculator"===o?"SHARIAH DISCLAIMER & GUIDANCE WARNING":"LEGAL DISCLAIMER",U="zakat_calculator"===o?"This Zakat estimation report is prepared for general calculations based on standard Shariah rules. It does not constitute":"This tax estimation report is prepared for reference and informational purposes only. It does not constitute",W="zakat_calculator"===o?"an official Shariah fatwa (edict). If you have complex assets (such as trust funds, shares or business partnerships),":"official legal or tax advice and cannot be used for official representation in any firm, body, or court of law.",G="zakat_calculator"===o?"we strongly recommend consulting a qualified Islamic 
1scholar or mufti to verify your Zakat liabilities.":"For audits, FBR submissions, or legal proceedings, consult a suitably qualified adviser for your facts.";i.text($,20,_+(T?5:7)),i.setFont("Helvetica","normal"),i.setFontSize(7.5),i.setTextColor(120,53,15),i.text(U,20,_+(T?9.5:13)),i.text(W,20,_+(T?13:17)),i.text(G,20,_+(T?16.5:21)),l||(i.setFillColor(...n),i.rect(0,278,210,20,"F"),i.setFillColor(...d),i.rect(0,278,210,1,"F"),i.setTextColor(...u),i.setFont("Helvetica","normal"),i.setFontSize(7.5),i.text(`AM Tax & Corporate Hub  |  ${r.address||"Pakistan"}  |  ${r.phone||"+92 327 0444011"}  |  www.amtaxhub.com`,105,287,{align:"center",maxWidth:190}),i.setTextColor(...d),i.setFont("Helvetica","bold"),i.setFontSize(7),i.text("Smart Solutions for Modern Taxpayers",105,293,{align:"center"}));const X=(new Date).toISOString().slice(0,10),V=`AMTaxHub_${(e.section||"Tax").replace(/[^a-zA-Z0-9]/g,"_")}_Report_${X}.pdf`;if((window.Capacitor||"capacitor:"===window.location.protocol||"localhost"===window.location.hostname&&!window.location.port)&&window.Capacitor?.Plugins?.Filesystem){const t=window.Capacitor.Plugins.Filesystem,o=window.Capacitor.Plugins.Share,a=i.output("datauristring").split(",")[1];t.writeFile({path:V,data:a,directory:"Documents"}).then(t=>{o?o.share({title:"AM Tax Hub Report",text:`Tax estimation report: ${e.title}`,url:t.uri,dialogTitle:"Save or Share PDF Report"}).catch(t=>{}):alert("PDF Saved to Documents: "+V)}).catch(t=>{i.save(V)})}else i.save(V)}function a(t,e,o,a,l,s={}){t.setFillColor(...e),t.rect(0,0,210,44,"F"),t.setFillColor(...o),t.rect(0,44,210,2,"F"),t.setFillColor(...o),t.rect(0,0,4,44,"F"),t.setTextColor(...l),t.setFont("Helvetica","bold"),t.setFontSize(17),t.text("AM TAX & CORPORATE HUB",15,17),t.setFont("Helvetica","normal"),t.setFontSize(8),t.setTextColor(...a),t.text("SMART SOLUTIONS FOR MODERN TAXPAYERS",15,23),t.setTextColor(...l),t.setFontSize(7.5),t.text("www.amtaxhub.com",150,12),t.text(s.email||"[email protected]",150,18,{maxWidth:55}),t.text(s.phone||"+92 327 0444011",150,24,{maxWidth:55}),t.text(s.address||"Pakistan",150,30,{maxWidth:55})}function l(e,o,a="2026",l={}){const r=new t({orientation:"landscape",unit:"mm",format:"a4"}),i=[30,41,59],n=[30,168,199],c=[212,175,55];if(o)try{r.addImage(o,"PNG",0,0,297,210)}catch{s(r,i,c,n,[255,255,255],l)}else s(r,i,c,n,[255,255,255],l);const d=o?50:36,x=d+5,F=d+12;r.setTextColor(...i),r.setFont("Helvetica","bold"),r.setFontSize(12.5),r.text("FORM 116 WEALTH STATEMENT & RECONCILIATION - MULTI-YEAR COMPARATIVE STATEMENT",12,d);const u=e.multiYearYears||["2019","2020","2021","2022","2023","2024","2025","2026","2027"],T=e.multiYearSummaries||{},m=u[0]||"2019",C=u[u.length-1]||"2027";r.setFont("Helvetica","normal"),r.setFontSize(8),r.setTextColor(100,116,139),r.text(`FBR IRIS 2.0 Historical Ledger (Tax Years ${m} – ${C})  |  Generated: ${(new Date).toLocaleDateString("en-PK")}`,12,x);const S=u.length<=5?85:63,A=(273-S)/(u.length||1),b=12,R=7.5;r.setFillColor(...i),r.rect(b,F,273,R,"F"),r.setTextColor(255,255,255),r.setFont("Helvetica","bold"),r.setFontSize(7.5),r.text("FBR Metric / Section Code",15,F+5),u.forEach((t,e)=>{const o=b+S+e*A;r.text(`TY ${t}`,o+3,F+5)});let h=F+R;[{key:"totalAssetsPk",code:"7001-14",label:"1. Personal Assets (Inside Pakistan)",isBold:!1},{key:"totalAssetsForeign",code:"7016-18",label:"2. Foreign Assets (Outside Pakistan)",isBold:!1},{key:"totalAssets",code:"7019",label:"TOTAL ASSETS",isBold:!0,isHeaderBg:!0},{key:"totalLiabilities",code:"7021-22",label:"3. Total Liabilities & Payables",isRed:!0},{key:"netAssetsCurrentYear",code:"703001",label:"NET ASSETS CURRENT YEAR",isBold:!0,isHighlight:!0},{key:"netAssetsPreviousYear",code:"703002",label:"Net Assets Previous Year",isBold:!1},{key:"assetGrowth",code:"703003",label:"Increase / Decrease in Net Assets",isBold:!0},{key:"personalExpenses",code:"7051-89",label:"4. Personal Expenses & Taxes",isRed:!0},{key:"totalInflows",code:"7049",label:"5. Total Reconciliation Inflows",isBold:!1},{key:"totalOutflows",code:"7099",label:"6. Total Reconciliation Outflows",isRed:!0},{key:"unreconciledAmount",code:"703000",label:"UNRECONCILED AMOUNT (BALANCE)",isBold:!0,isAlertRow:!0}
1].forEach((t,e)=>{t.isHighlight?r.setFillColor(236,253,245):t.isHeaderBg?r.setFillColor(241,245,249):t.isAlertRow?r.setFillColor(254,242,242):r.setFillColor(e%2==0?255:248,e%2==0?255:250,e%2==0?255:252),r.rect(b,h,273,R,"F"),r.setDrawColor(226,232,240),r.line(b,h+R,285,h+R),r.setFont("Helvetica",t.isBold?"bold":"normal"),r.setFontSize(7.2),t.isRed?r.setTextColor(185,28,28):t.isHighlight?r.setTextColor(5,150,105):t.isBold?r.setTextColor(...i):r.setTextColor(50,65,85),r.text(`${t.label} (${t.code})`,15,h+5),u.forEach((e,o)=>{const a=(T[e]||{})[t.key]||0,l=(t=>{if(null==t||isNaN(t))return"0";if(0===t)return"0";const e=t<0,o=Math.abs(t).toLocaleString("en-PK");return e?`-${o}`:o})(a),s=b+S+o*A;"unreconciledAmount"===t.key?(r.setFont("Helvetica","bold"),0===a?r.setTextColor(16,185,129):r.setTextColor(225,29,72)):t.isRed?r.setTextColor(185,28,28):t.isHighlight?r.setTextColor(5,150,105):t.isBold?r.setTextColor(...i):r.setTextColor(50,65,85),r.setFontSize(6.8),r.text(l,s+3,h+5)}),h+=R});const f=h+4;r.setFillColor(248,250,252),r.roundedRect(b,f,273,13,2,2,"F"),r.setDrawColor(226,232,240),r.roundedRect(b,f,273,13,2,2,"D"),r.setFont("Helvetica","bold"),r.setFontSize(7.5),r.setTextColor(...i),r.text("FBR IRIS 2.0 Statutory Note:",16,f+4.5),r.setFont("Helvetica","normal"),r.setFontSize(7),r.setTextColor(71,85,105),r.text("This Form 116 multi-year comparative statement summarizes asset growth, personal expenses, and net wealth reconciliation u/s 116 of the Income Tax Ordinance 2001.",16,f+9);const v=`AMTaxHub_Form116_MultiYear_Comparative_Report_${(new Date).toISOString().slice(0,10)}.pdf`;r.save(v)}function s(t,e,o,a,l,s={}){t.setFillColor(...e),t.rect(0,0,297,26,"F"),t.setFillColor(...o),t.rect(0,26,297,1.5,"F"),t.setTextColor(...l),t.setFont("Helvetica","bold"),t.setFontSize(13),t.text("AM TAX & CORPORATE HUB",12,11),t.setFont("Helvetica","normal"),t.setFontSize(7.5),t.setTextColor(...a),t.text("SMART SOLUTIONS FOR MODERN TAXPAYERS - OFFICIAL MULTI-YEAR REPORT",12,17),t.setTextColor(...l),t.setFontSize(7.5),t.text("www.amtaxhub.com | [email protected] | +92 327 0444011",285,14,{align:"right"})}export{e as generateTaxPDF};

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.