<!-- <BillparserWeb.Layouts.root> lib/billparser_web/components/layouts/root.html.heex:1 (billparser) --><!DOCTYPE html>
<html data-phx-loc="2" lang="en" data-theme="corporate">
  <head data-phx-loc="3">
    <meta data-phx-loc="4" charset="utf-8">
    <meta data-phx-loc="5" name="viewport" content="width=device-width, initial-scale=1">
    <meta data-phx-loc="6" name="csrf-token" content="DQUGHgATUBoVBngjA2Q8cnwrUQQERjYoz0Bs0BinfDMD43j57Lbj0psL">
    <!-- @caller lib/billparser_web/components/layouts/root.html.heex:7 (billparser) --><!-- <Phoenix.Component.live_title> lib/phoenix_component.ex:2252 (phoenix_live_view) --><title data-phx-loc="2253" data-suffix=" | BillParser"> | BillParser</title><!-- </Phoenix.Component.live_title> -->

    <meta data-phx-loc="14" property="og:title" content="BillParser">
    <meta data-phx-loc="15" property="og:type" content="website">
    <link data-phx-loc="16" rel="alternate" type="application/rss+xml" title="BillParser Blog" href="/blog/feed.xml">
    <link data-phx-loc="22" rel="icon" type="image/x-icon" href="/favicon.ico">
    <link data-phx-loc="23" rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png">
    <link data-phx-loc="24" rel="icon" type="image/png" sizes="64x64" href="/favicon-64.png">
    <link data-phx-loc="25" rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
    <link data-phx-loc="26" phx-track-static rel="stylesheet" href="/assets/css/app.css">
    <script data-phx-loc="27" defer phx-track-static type="text/javascript" src="/assets/js/app.js">
    </script>
    <!-- PostHog Analytics -->
    <script data-phx-loc="30">
      !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="init capture register register_once register_for_session unregister unregister_for_session getFeatureFlag getFeatureFlagPayload isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSessionId getSurveys getActiveMatchingSurveys renderSurvey canRenderSurvey getNextSurveyStep identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty createPersonProfile opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing clear_opt_in_out_capturing debug".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
      posthog.init('phc_MsZB4MTm1iGqDqcbDvrOERQcIW8UZEXqCjXhR5Wus2e', {
        api_host: 'https://us.i.posthog.com',
        person_profiles: 'identified_only'
      })
    </script>
  </head>
  <body data-phx-loc="38">
    <!-- Header -->
    <header data-phx-loc="40" class="navbar bg-base-100 border-b border-base-200 px-4 lg:px-8">
      <div data-phx-loc="41" class="flex-1 flex items-center">
        <a data-phx-loc="42" href="/" class="text-xl font-bold text-primary">BillParser</a>
        <a data-phx-loc="43" href="/blog" class="btn btn-ghost ml-2">Blog</a>

      </div>
      <div data-phx-loc="48" class="flex-none gap-2">

          <a data-phx-loc="172" href="/login" class="btn btn-ghost btn-sm">Sign In</a>
          <a data-phx-loc="173" href="/signup" class="btn btn-primary btn-sm">Sign Up</a>

      </div>
    </header>
    
<!-- Flash messages -->


    &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;rss version=&quot;2.0&quot; xmlns:atom=&quot;http://www.w3.org/2005/Atom&quot;&gt;
  &lt;channel&gt;
    &lt;title&gt;BillParser Blog&lt;/title&gt;
    &lt;description&gt;Tips, insights, and updates on bill parsing and document automation.&lt;/description&gt;
    &lt;link&gt;https://billparser.io/blog&lt;/link&gt;
    &lt;atom:link href=&quot;https://billparser.io/blog/feed.xml&quot; rel=&quot;self&quot; type=&quot;application/rss+xml&quot;/&gt;
    &lt;language&gt;en-us&lt;/language&gt;
    &lt;lastBuildDate&gt;Tue, 09 Jun 2026 18:09:44 +0000&lt;/lastBuildDate&gt;
    
    &lt;item&gt;
      &lt;title&gt;Stop Forgetting Bills: How Late Fees Are Quietly Killing Your Margins&lt;/title&gt;
      &lt;description&gt;&lt;![CDATA[Forgotten bills lead to late fees and service interruptions. Here&#39;s how to automate bill tracking and never miss a deadline again.]]&gt;&lt;/description&gt;
      &lt;link&gt;https://billparser.io/blog/stop-forgetting-bills&lt;/link&gt;
      &lt;guid isPermaLink=&quot;true&quot;&gt;https://billparser.io/blog/stop-forgetting-bills&lt;/guid&gt;
      &lt;pubDate&gt;Wed, 29 Apr 2026 12:00:00 +0000&lt;/pubDate&gt;
      
      &lt;category&gt;bill-management&lt;/category&gt;
      
      &lt;category&gt;automation&lt;/category&gt;
      
      &lt;category&gt;productivity&lt;/category&gt;
      
    &lt;/item&gt;
    
    &lt;item&gt;
      &lt;title&gt;Why Your Invoice Parser Breaks Every Time Your Vendor Updates Their Template&lt;/title&gt;
      &lt;description&gt;&lt;![CDATA[Template-based invoice OCR tools break when formats change. Here&#39;s why AI-powered extraction is more reliable.]]&gt;&lt;/description&gt;
      &lt;link&gt;https://billparser.io/blog/why-invoice-parsers-break&lt;/link&gt;
      &lt;guid isPermaLink=&quot;true&quot;&gt;https://billparser.io/blog/why-invoice-parsers-break&lt;/guid&gt;
      &lt;pubDate&gt;Tue, 24 Mar 2026 12:00:00 +0000&lt;/pubDate&gt;
      
      &lt;category&gt;invoice-ocr&lt;/category&gt;
      
      &lt;category&gt;automation&lt;/category&gt;
      
      &lt;category&gt;comparison&lt;/category&gt;
      
    &lt;/item&gt;
    
    &lt;item&gt;
      &lt;title&gt;The Hidden Cost of Manual Bill Entry&lt;/title&gt;
      &lt;description&gt;&lt;![CDATA[Manual data entry costs more than your time. Here&#39;s the real math behind why automation pays for itself — and why most people underestimate the true cost.]]&gt;&lt;/description&gt;
      &lt;link&gt;https://billparser.io/blog/hidden-cost-of-manual-bill-entry&lt;/link&gt;
      &lt;guid isPermaLink=&quot;true&quot;&gt;https://billparser.io/blog/hidden-cost-of-manual-bill-entry&lt;/guid&gt;
      &lt;pubDate&gt;Wed, 18 Mar 2026 12:00:00 +0000&lt;/pubDate&gt;
      
      &lt;category&gt;productivity&lt;/category&gt;
      
      &lt;category&gt;automation&lt;/category&gt;
      
    &lt;/item&gt;
    
    &lt;item&gt;
      &lt;title&gt;Why We Built BillParser&lt;/title&gt;
      &lt;description&gt;&lt;![CDATA[The story behind BillParser: how years of manual data entry frustration led us to build a simpler way to extract data from bills and invoices.]]&gt;&lt;/description&gt;
      &lt;link&gt;https://billparser.io/blog/why-we-built-billparser&lt;/link&gt;
      &lt;guid isPermaLink=&quot;true&quot;&gt;https://billparser.io/blog/why-we-built-billparser&lt;/guid&gt;
      &lt;pubDate&gt;Sun, 15 Mar 2026 12:00:00 +0000&lt;/pubDate&gt;
      
      &lt;category&gt;product&lt;/category&gt;
      
      &lt;category&gt;launch&lt;/category&gt;
      
    &lt;/item&gt;
    
  &lt;/channel&gt;
&lt;/rss&gt;

    
<!-- Global Footer -->
    <footer data-phx-loc="222" class="px-4 py-8 sm:px-6 lg:px-8 border-t border-base-300 bg-base-100">
      <div data-phx-loc="223" class="mx-auto max-w-4xl flex flex-col sm:flex-row justify-between items-center gap-4">
        <p data-phx-loc="224" class="text-base-content/50 text-sm">
          © 2026 BillParser. Made for people who hate data entry.
        </p>
        <div data-phx-loc="227" class="flex gap-6 text-sm">
          <a data-phx-loc="228" href="/compare" class="text-base-content/70 hover:text-primary">Compare</a>
          <a data-phx-loc="229" href="/blog" class="text-base-content/70 hover:text-primary">Blog</a>
          <a data-phx-loc="230" href="/privacy" class="text-base-content/70 hover:text-primary">Privacy</a>
          <a data-phx-loc="231" href="/terms" class="text-base-content/70 hover:text-primary">Terms</a>
          <a data-phx-loc="232" href="mailto:support@billparser.io" class="text-base-content/70 hover:text-primary">
            Contact
          </a>
        </div>
      </div>
    </footer>
  </body>
</html><!-- </BillparserWeb.Layouts.root> -->