{"id":24357,"date":"2026-05-27T12:51:20","date_gmt":"2026-05-27T12:51:20","guid":{"rendered":"https:\/\/fiskl.com\/?page_id=24357"},"modified":"2026-05-29T06:34:54","modified_gmt":"2026-05-29T06:34:54","slug":"the-end-of-the-bookkeeping-firm","status":"publish","type":"page","link":"https:\/\/fiskl.com\/assets\/the-end-of-the-bookkeeping-firm\/","title":{"rendered":"The End of the Bookkeeping Firm"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"24357\" class=\"elementor elementor-24357\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0ff1778 e-flex e-con-boxed e-con e-parent\" data-id=\"0ff1778\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-6329423 e-con-full el-plr20 e-flex e-con e-child\" data-id=\"6329423\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-229a0c3 e-con-full elementor-hidden-tablet elementor-hidden-mobile e-flex e-con e-child\" data-id=\"229a0c3\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7f6c325 elementor-widget elementor-widget-theme-site-logo elementor-widget-image\" data-id=\"7f6c325\" data-element_type=\"widget\" data-widget_type=\"theme-site-logo.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/fiskl.com\">\n\t\t\t<img decoding=\"async\" src=\"https:\/\/dvfzvfyc6mte7.cloudfront.net\/uploads\/2026\/03\/fiskl_ai_official_logo_img.png\" title=\"Fiskl AI official logo\" alt=\"Fiskl AI official logo\" loading=\"lazy\" \/>\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a4a57a6 elementor-widget elementor-widget-heading\" data-id=\"a4a57a6\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">The End of the Bookkeeping Firm<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e800577 elementor-mobile-align-left elementor-widget elementor-widget-button\" data-id=\"e800577\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/fiskl.com\/assets\/The-end-of-the-bookkeeping-firm.pdf\" download=\"The-end-of-the-bookkeeping-firm.pdf\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Download<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a389dec elementor-widget elementor-widget-html\" data-id=\"a389dec\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"pdf-wrapper\" style=\"\r\n  width: 100%;\r\n  max-width: 780px;\r\n  margin: 0 auto;\r\n  background: #1a1a1a;\r\n  border-radius: 8px;\r\n  overflow-y: auto;\r\n  max-height: 85vh;\r\n  -webkit-overflow-scrolling: touch;\r\n\">\r\n  <div id=\"pdf-loading\" style=\"\r\n    color: #fff;\r\n    text-align: center;\r\n    padding: 40px 20px;\r\n    font-family: sans-serif;\r\n    font-size: 14px;\r\n  \">Loading PDF...<\/div>\r\n  <div id=\"pdf-pages\" style=\"width: 100%;\"><\/div>\r\n<\/div>\r\n\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/pdf.js\/3.11.174\/pdf.min.js\"><\/script>\r\n<script>\r\n(function() {\r\n  pdfjsLib.GlobalWorkerOptions.workerSrc =\r\n    'https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/pdf.js\/3.11.174\/pdf.worker.min.js';\r\n\r\n  const PDF_URL = 'https:\/\/fiskl.com\/assets\/The-end-of-the-bookkeeping-firm.pdf';\r\n\r\n  const wrapper = document.getElementById('pdf-wrapper');\r\n  const container = document.getElementById('pdf-pages');\r\n  const loading = document.getElementById('pdf-loading');\r\n\r\n  const isMobile = window.innerWidth <= 768;\r\n  const mobileSizeBoost = isMobile ? 1.10 : 1.0;\r\n  const dpr = Math.min(window.devicePixelRatio || 1, 2); \/\/ cap at 2x to avoid memory issues on older iPhones\r\n\r\n  \/\/ Render pages one by one sequentially\r\n  async function renderAllPages(pdfDoc) {\r\n    loading.style.display = 'none';\r\n\r\n    const containerWidth = wrapper.clientWidth || wrapper.offsetWidth || 320;\r\n\r\n    for (let pageNum = 1; pageNum <= pdfDoc.numPages; pageNum++) {\r\n      const page = await pdfDoc.getPage(pageNum);\r\n\r\n      const viewport = page.getViewport({ scale: 1 });\r\n      const scale = (containerWidth \/ viewport.width) * dpr * mobileSizeBoost;\r\n      const scaledViewport = page.getViewport({ scale });\r\n\r\n      \/\/ Divider between pages\r\n      if (pageNum > 1) {\r\n        const divider = document.createElement('div');\r\n        divider.style.cssText = 'width:100%; height:2px; background:#333; display:block;';\r\n        container.appendChild(divider);\r\n      }\r\n\r\n      const canvas = document.createElement('canvas');\r\n      canvas.width = scaledViewport.width;\r\n      canvas.height = scaledViewport.height;\r\n      canvas.style.cssText = `\r\n        display: block;\r\n        width: ${Math.floor(containerWidth * mobileSizeBoost)}px;\r\n        height: ${Math.floor(scaledViewport.height \/ dpr)}px;\r\n      `;\r\n\r\n      container.appendChild(canvas);\r\n\r\n      await page.render({\r\n        canvasContext: canvas.getContext('2d'),\r\n        viewport: scaledViewport\r\n      }).promise;\r\n    }\r\n  }\r\n\r\n  pdfjsLib.getDocument({\r\n    url: PDF_URL,\r\n    cMapUrl: 'https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/pdf.js\/3.11.174\/cmaps\/',\r\n    cMapPacked: true,\r\n  }).promise\r\n    .then(renderAllPages)\r\n    .catch(err => {\r\n      loading.textContent = 'Failed to load PDF. Please check the URL.';\r\n      console.error('PDF load error:', err);\r\n    });\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>The End of the Bookkeeping Firm Download Loading PDF&#8230;<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":24445,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-24357","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/fiskl.com\/x-api\/wp\/v2\/pages\/24357","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fiskl.com\/x-api\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/fiskl.com\/x-api\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/fiskl.com\/x-api\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/fiskl.com\/x-api\/wp\/v2\/comments?post=24357"}],"version-history":[{"count":92,"href":"https:\/\/fiskl.com\/x-api\/wp\/v2\/pages\/24357\/revisions"}],"predecessor-version":[{"id":24510,"href":"https:\/\/fiskl.com\/x-api\/wp\/v2\/pages\/24357\/revisions\/24510"}],"up":[{"embeddable":true,"href":"https:\/\/fiskl.com\/x-api\/wp\/v2\/pages\/24445"}],"wp:attachment":[{"href":"https:\/\/fiskl.com\/x-api\/wp\/v2\/media?parent=24357"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}