<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Xero Developer - Medium]]></title>
        <description><![CDATA[The API &amp; app developer programs for global small business platform, Xero. developer.xero.com - Medium]]></description>
        <link>https://devblog.xero.com?source=rss----ed4d3abf1c21---4</link>
        <image>
            <url>https://cdn-images-1.medium.com/proxy/1*TGH72Nnw24QL3iV9IOm4VA.png</url>
            <title>Xero Developer - Medium</title>
            <link>https://devblog.xero.com?source=rss----ed4d3abf1c21---4</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 18 Jul 2026 11:44:00 GMT</lastBuildDate>
        <atom:link href="https://devblog.xero.com/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Watch a working Xero-integrated app get built in 15 minutes (live at Xerocon London 2026)]]></title>
            <link>https://devblog.xero.com/watch-a-working-xero-integrated-app-get-built-in-15-minutes-live-at-xerocon-london-2026-922f042c9482?source=rss----ed4d3abf1c21---4</link>
            <guid isPermaLink="false">https://medium.com/p/922f042c9482</guid>
            <category><![CDATA[vibe-coding]]></category>
            <category><![CDATA[xeroapi]]></category>
            <category><![CDATA[ai]]></category>
            <category><![CDATA[lovable]]></category>
            <category><![CDATA[xero]]></category>
            <dc:creator><![CDATA[Corey Leung]]></dc:creator>
            <pubDate>Thu, 16 Jul 2026 21:56:16 GMT</pubDate>
            <atom:updated>2026-07-16T21:56:16.432Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/1*OVClaKk2M1N2hB7uT7c3tQ.jpeg" /></figure><p>At Xerocon London 2026, Regan Ashworth, Head of Ecosystem Governance at Xero, built a working, Xero-connected e-commerce app live on stage in 15 minutes. No code, one ready-made prompt, and a real invoice sitting in a real Xero organisation at the end to prove it.</p><p>The build was deliberately simple: a one-product online store (a beltless trench coat, for the Seinfeld fans) that creates a contact and an invoice in Xero after every sale, then opens the online invoice for the customer to pay. A complete e-commerce flow, working end to end, in less time than a coffee run.</p><h3>The whole build happens on screen, and you can follow every step</h3><p>The demo runs on Lovable, an all-in-one development platform that acts as your software developer in a browser tab: you describe what you want in plain language, and it builds it. The shortcut that makes 15 minutes possible is a skill from<a href="https://developer.xero.com/ai"> Xero’s prompt library</a>, which teaches Lovable how to build a proper integration with the Xero API (the way apps pull information out of Xero and put it back in) so you never have to touch the difficult parts yourself.</p><p>Along the way, Regan covers the things every new builder needs to know: why you should always search the<a href="https://apps.xero.com/"> Xero App Store</a> before building anything, how to create an app at<a href="https://developer.xero.com/"> developer.xero.com</a> and get your client ID and client secret (explained with a great hotel key analogy), and why a well-built app only asks for the data it actually needs.</p><p>This is how to build a Xero integration without coding, and you don’t need a software development background to follow along. Pause, rewind, and build alongside the video, then head to<a href="https://developer.xero.com/ai"> developer.xero.com/ai</a> for the AI toolkit, the prompt library, and the skills from the demo.</p><p><em>Watch all our AI/vibe coding demos on the</em><a href="https://www.youtube.com/@XeroDeveloper"><em> Xero Developer YouTube channel</em></a><em>.</em></p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FvWUnkJ7lD98%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DvWUnkJ7lD98&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FvWUnkJ7lD98%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/03e1c4ddb5e12422392455b2c25c4b3a/href">https://medium.com/media/03e1c4ddb5e12422392455b2c25c4b3a/href</a></iframe><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=922f042c9482" width="1" height="1" alt=""><hr><p><a href="https://devblog.xero.com/watch-a-working-xero-integrated-app-get-built-in-15-minutes-live-at-xerocon-london-2026-922f042c9482">Watch a working Xero-integrated app get built in 15 minutes (live at Xerocon London 2026)</a> was originally published in <a href="https://devblog.xero.com">Xero Developer</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Expanding the Xero Bank Feeds API for non-bank statement data]]></title>
            <link>https://devblog.xero.com/expanding-the-xero-bank-feeds-api-for-non-bank-statement-data-b189303a4784?source=rss----ed4d3abf1c21---4</link>
            <guid isPermaLink="false">https://medium.com/p/b189303a4784</guid>
            <category><![CDATA[developer]]></category>
            <category><![CDATA[xeroapi]]></category>
            <category><![CDATA[xero]]></category>
            <category><![CDATA[api]]></category>
            <dc:creator><![CDATA[Corey Leung]]></dc:creator>
            <pubDate>Tue, 07 Jul 2026 17:14:46 GMT</pubDate>
            <atom:updated>2026-07-07T17:14:46.406Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/1*LAGhaI04bneeb-AY4C1cVw.jpeg" /></figure><p>Today, many customers who work with unsupported banks, fintechs, payment platforms, or custom financial systems still rely on manual statement uploads to get data into Xero. We’re changing that by expanding the Xero Bank Feeds API so vetted partners can send non-bank statement data into Xero using the existing feeds flow. This capability is still currently in beta.</p><p>That means fewer CSV workarounds, less repetitive admin, and a more automated path into Xero bank reconciliation for customers whose data sources don’t fit the traditional financial institution model.</p><h3>Why we’re making this change</h3><p>The gap is straightforward: if a customer’s data source isn’t supported by an existing bank feed, the fallback today is usually manual import. That process is slower, more error-prone, and not a great fit for businesses that want a more automated workflow.</p><p>We also know developers have been asking for a better way to help customers bridge that gap. The aim here is to make it easier for approved partners to automate statement delivery into Xero, while still preserving the distinctions that matter between direct bank feeds and other imported data sources.</p><h3>What’s changing</h3><p>Rather than introducing a completely separate ingestion API, we’re reusing the existing Xero Bank Feeds API infrastructure and the same core endpoints developers already know: POST /FeedConnections and POST /Statements.</p><p>This new lane is designed for vetted partners who need to push statement data from non-bank sources into Xero bank accounts. It will not be surfaced as a connection option in Xero bank search or the standard Xero UI feed discovery flow; that experience remains for direct bank feeds, with setup handled through the partner app instead.</p><p>In product, customers will be able to distinguish this data from certified bank-provided feeds, with the source shown as App in the Xero UI.</p><p>Under the hood, that data is also classified separately from trusted financial institution feeds so Xero can continue to treat partner-imported statement data differently from direct bank feeds where needed.</p><h3>What this means for developers</h3><p>For developers, the shape of the integration stays familiar, but the use case expands.</p><p>You’ll still need to register a Xero app, have the Bank Feeds scope enabled for that app, implement OAuth, create feed connections, and send statement data through the Statements endpoint.</p><p>You’ll also need to design the experience around the parts that matter most to customers: choosing the right account to connect, picking a safe feed start date, handling reconnects and cancellations cleanly, and making sync state easy to understand in your app.</p><p>And because reconciliation quality matters, this flow is intended for final or posted transactions rather than pending activity, with enough transaction detail to support reconciliation directly in Xero.</p><h3>Important guardrails</h3><p>This is not a new open transaction import API for every developer from day one. Access will begin with a small set of vetted partners and a lightweight certification process, with scope to expand over time.</p><p>The initial model is also intentionally one-way. In this phase, the API supports creating new statement lines in Xero, but not updating or deleting them through the API.</p><p>It also won’t be used to overwrite or append data into accounts that already have an active trusted bank feed from a financial institution.</p><p>For the beta, broader two-way sync workflows, feed discovery in bank search, and App Store listing support are out of scope.</p><h3>What this means for customers</h3><p>For customers, the outcome is simple: less manual importing and a better path to reconciliation when their financial data doesn’t come from a supported bank feed.</p><p>A strong implementation should help customers see statement data in Xero without relying on repeated CSV uploads, reduce missed or duplicated imports, and reconcile using the same core Xero bank reconciliation experience they already know.</p><p>It should also make setup and ongoing sync clearer, so customers can understand what’s connected, what has synced, and what action is needed next without having to guess.</p><h3>What’s next</h3><p>We’re starting small, with pilot partners first, and we’ll expand from there as we validate the experience, monitor behaviour across downstream systems, and learn from partner feedback.</p><p>The direction is clear: more supported ways to get high-quality statement data into Xero, without sending customers back to manual file uploads every time their data source falls outside the traditional bank feed model.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b189303a4784" width="1" height="1" alt=""><hr><p><a href="https://devblog.xero.com/expanding-the-xero-bank-feeds-api-for-non-bank-statement-data-b189303a4784">Expanding the Xero Bank Feeds API for non-bank statement data</a> was originally published in <a href="https://devblog.xero.com">Xero Developer</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Land your hackathon pitch: a playbook for winning the room]]></title>
            <link>https://devblog.xero.com/land-your-hackathon-pitch-a-playbook-for-winning-the-room-8b327de726ca?source=rss----ed4d3abf1c21---4</link>
            <guid isPermaLink="false">https://medium.com/p/8b327de726ca</guid>
            <category><![CDATA[xero-developer]]></category>
            <category><![CDATA[hackathons]]></category>
            <category><![CDATA[xeroapi]]></category>
            <category><![CDATA[api]]></category>
            <category><![CDATA[vibe-coding]]></category>
            <dc:creator><![CDATA[Corey Leung]]></dc:creator>
            <pubDate>Tue, 30 Jun 2026 04:52:33 GMT</pubDate>
            <atom:updated>2026-06-30T04:52:33.315Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/1*XPL_SxK2W9dO4xawqExdRA.jpeg" /></figure><p>The<a href="https://luma.com/vvvnk7bs"> Xero App &amp; Agent Hackathon</a> lands in London on 4 and 5 July: two days, £9,000 in prizes, and one mission, to build AI-powered apps and agents that do not just look good in a demo but actually work in the real world. Once the building stops, the pitching starts. With that much on the line, you will have three minutes in front of the judges to turn everything you made into a story they believe in. That is not much time, so we asked Annie Terry, our Head of Platform Marketing at Xero, how to make every second count.</p><p>Across the hackathons she has organised over the years, Annie has watched a lot of pitches, including a memorable one from a passionate team that turned their idea into a fully functional app and business that is now used by thousands of small businesses. They remain a valued member of our ecosystem today. Her view is simple: the build gets you to the room, but the pitch is what wins it. Here are her top tips for making the pitch count.</p><h3>1. Treat your three minutes like the scarce resource it is</h3><p>“Every second is a premium asset,” Annie says. In 180 seconds you need to capture the judges’ imagination, explain how you built the thing, and prove there is a real market for it. That sounds like a lot, and it is, which is exactly why a rambling pitch loses.</p><p>The fix is to decide in advance what each chunk of time is for, and then protect it. If you try to say everything, the judges will remember nothing. Pick the few points that matter most and give them room to land.</p><h3>2. Name a specific problem before you show your solution</h3><p>The strongest pitches start with a person, not a product. Be precise about who your customer is and the friction they hit every single day while running their business. Deep understanding will help you get really specific on the problem and more importantly makes your solution feel inevitable.</p><p>“Fall in love with the problem and build deep customer empathy. You’ll then be able to showcase your app as the natural solution to the problem,” Annie says. Once the pain is clear, the question to answer is equally clear: how exactly does this person’s day get better after they use what you built? Spell out the value to the customer in plain terms, and point to the size of the opportunity while you are at it.</p><h3>3. Let the demo do the talking</h3><p>This is the part Annie is most insistent about. The demo is the moment your project stops looking like a weekend hack and starts looking like a real app, so it deserves the biggest share of your time.</p><p>Show, do not tell. Walk the judges through the main thing a customer would actually do with your app, and lead with your most impressive feature. Skip the sign-up screens and the settings pages, since nobody was ever won over by a registration form. And if doing it live feels risky, with dodgy wifi or a fragile build, record a clean walk-through in advance. A demo that works beats a live demo that might not, every time.</p><h3>4. Show your technical chops without drowning the room in detail</h3><p>Judges want to see that you know what you are doing under the hood, so give them a quick, confident tour of how you built it. Name the core technologies and the platform you developed on, and keep it brief.</p><p>Then get specific about Xero, because this is a Xero hackathon and the judges want to see how you built on the platform. Which Xero data did you connect to, and which parts of our API gave you an edge while you were building? This is where our webhooks are worth a look. Rather than your app constantly asking Xero “anything new yet?” over and over, webhooks let Xero tell your app the moment something changes. It means less repetitive checking, more responding to real events, and a better experience for everyone. One customer cut that repetitive checking by 40%. We shipped a new credit note webhook in March and we are now turning our attention to payments, so there is plenty to build with.</p><p>Finally, call out anything genuinely clever you did. If you found a neat optimisation or solved a hard problem in an unexpected way, the judges want to hear it.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*RaPBiuOLZas34ymzIzouQw.jpeg" /><figcaption>Source: Unsplash</figcaption></figure><h3>5. Follow a pitch flow that already works</h3><p>You do not have to invent a pitch structure. Annie’s recommended flow maps neatly to your three minutes:</p><ul><li><strong>0 to 30 seconds, the hook.</strong> Define the customer problem and the opportunity.</li><li><strong>30 to 100 seconds, the demo.</strong> Show your solution in action.</li><li><strong>100 to 150 seconds, the tech.</strong> Share your stack and how you used the Xero API.</li><li><strong>150 to 180 seconds, the future.</strong> Wrap up with the features you would add over time.</li></ul><p>Practise it with a timer. The most common way to lose your ending is to run long and get cut off before you reach it.</p><h3>6. Make your slides work on a projector, not just your laptop</h3><p>Your slides are scenery, not the script. Keep them big, bold, and simple so they support you rather than compete with you.</p><p>Use massive fonts, think 30 point and up for body text and 60 point and up for headings. Go high contrast, with light text on a dark background or the reverse, so everything stays readable across the room. Stick to one major idea per slide, because the moment people start reading your slides, they have stopped listening to you. And lean on icons, screenshots, and simple charts instead of dense paragraphs.</p><h3>7. Bring the energy, and own the room</h3><p>“Energy is contagious,” Annie says, “and judges invest in people as much as ideas.” You built something real, so do not let nerves undersell it. Stand tall, speak with authority, and let your enthusiasm show.</p><p>A few traps to sidestep: do not bury the judges in jargon, because confusion is not the same as being impressed. Always have a working demo of what you built. And watch the clock so your closing line actually gets heard.</p><h3>8. Win the questions after the buzzer</h3><p>The pitch is not quite over when the timer stops. Think ahead about the gaps in your three minutes, the things you did not have time to cover, and be ready for the judges to probe them. Anticipating the obvious questions and having a calm answer ready is often what separates the top projects.</p><h3>See you in London</h3><p>The work happens at the desk, but the win happens at the microphone. Build something you are proud of, then give it a pitch that does it justice. We cannot wait to see what you make.</p><p>Got a question for the team before the hackathon? Come and ask us in the<a href="https://devblog.xero.com/a-bigger-discord-for-a-bigger-year-revamping-the-xero-developer-day-server-9df3cdba5332"> Xero Developer Day and Hackathon Discord server</a>, your home for everything Dev Day and the hackathon.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8b327de726ca" width="1" height="1" alt=""><hr><p><a href="https://devblog.xero.com/land-your-hackathon-pitch-a-playbook-for-winning-the-room-8b327de726ca">Land your hackathon pitch: a playbook for winning the room</a> was originally published in <a href="https://devblog.xero.com">Xero Developer</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Xero App Store: meet June’s apps]]></title>
            <link>https://devblog.xero.com/xero-app-store-meet-junes-apps-460d20e2b246?source=rss----ed4d3abf1c21---4</link>
            <guid isPermaLink="false">https://medium.com/p/460d20e2b246</guid>
            <category><![CDATA[app-store]]></category>
            <category><![CDATA[xeroapi]]></category>
            <category><![CDATA[culture]]></category>
            <category><![CDATA[xero]]></category>
            <dc:creator><![CDATA[Corey Leung]]></dc:creator>
            <pubDate>Tue, 23 Jun 2026 03:55:08 GMT</pubDate>
            <atom:updated>2026-06-23T03:55:08.297Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/1*ZYtBb_kXRVBljUxvW2KRTQ.jpeg" /></figure><p>Every month, the Xero Developer ecosystem welcomes new certified apps to the <a href="http://apps.xero.com?utm_source=developercentre&amp;utm_medium=internal-referral&amp;utm_campaign=xd-blog-jun-26&amp;utm_content=XAS">Xero App Store</a>.</p><p>Each app added to the Xero App Store gives Xero users new solutions to work smarter and take their business further.</p><p><strong>We welcome the following apps to the Xero App Store this month:</strong></p><h4><a href="https://apps.xero.com/nz/app/xo-report?utm_source=developercentre&amp;utm_medium=internal-referral&amp;utm_campaign=xd-blog-jun-26&amp;utm_content=xo-report">XO Report</a></h4><p>XO Report pulls live Xero data directly into Excel using custom formulas. Build profit and loss statements, balance sheets, trial balance reports, and data tables straight in your spreadsheet — with one-click refresh across multiple organisations.<br><strong>Available regions: </strong>Everywhere</p><h4><a href="https://apps.xero.com/app/portal-360?utm_source=developercentre&amp;utm_medium=internal-referral&amp;utm_campaign=xd-blog-jun-26&amp;utm_content=portal-360">Portal 360</a></h4><p>Portal 360 is an AI-powered practice management and client portal app for accounting firms and bookkeepers. Manage clients, communication, workflows, approvals, and integrations in one place to reduce admin and improve the client experience.<br><strong>Available regions: </strong>AU</p><h4><a href="https://apps.xero.com/app/claryx?utm_source=developercentre&amp;utm_medium=internal-referral&amp;utm_campaign=xd-blog-jun-26&amp;utm_content=claryx">Claryx</a></h4><p>Claryx is a financial planning and analysis platform for Xero finance teams. Plan, report, analyse, and consolidate on a single source of truth, with AI agents that build three-way budgets and board pack financials from your live Xero data. SOC 2 Type II certified.<br><strong>Available regions: </strong>Everywhere</p><h4><a href="https://apps.xero.com/uk/app/fourfourfive?utm_source=developercentre&amp;utm_medium=internal-referral&amp;utm_campaign=xd-blog-jun-26&amp;utm_content=fourfourfive">FourFourFive</a></h4><p>FourFourFive helps accounting practices identify recurring spend patterns and import purchase orders into Xero quickly and safely, reducing manual data entry and improving accuracy for recurring transactions.<br><strong>Available regions: </strong>UK</p><h4><a href="https://apps.xero.com/app/medfin?utm_source=developercentre&amp;utm_medium=internal-referral&amp;utm_campaign=xd-blog-jun-26&amp;utm_content=medfin">Medfin</a></h4><p>Medfin is an AI-powered business intelligence platform for dental groups and clinics. It provides up-to-date analytics and metrics across practice management systems, accounting platforms like Xero, and CRM tools — giving healthcare businesses a clearer view of performance.<br><strong>Available regions: </strong>UK</p><h4><a href="https://apps.xero.com/app/remittance-go?utm_source=developercentre&amp;utm_medium=internal-referral&amp;utm_campaign=xd-blog-jun-26&amp;utm_content=remittance-go">Remittance Go</a></h4><p>Remittance Go solves the manual data entry bottleneck for Xero users who receive single bank payments covering multiple invoices. It extracts data from PDF remittance advice, matches payments to the correct invoices in Xero, and bundles them into a single batch payment ready for reconciliation.<br><strong>Available regions: </strong>AU</p><h4><a href="https://apps.xero.com/app/field-ascend?utm_source=developercentre&amp;utm_medium=internal-referral&amp;utm_campaign=xd-blog-jun-26&amp;utm_content=field-ascend">Field Ascend</a></h4><p>Field Ascend is an intuitive field service platform for scheduling jobs, managing engineers, quotes, invoices, assets, and customer communication in one place. It connects with Xero to help service businesses reduce admin and stay organised as they grow.<br><strong>Available regions: </strong>Everywhere</p><h3>Grow your app with Xero</h3><p><strong>Want to grow your business and join the Xero developer ecosystem? </strong>Learn more about what it means to be a Xero developer or app, and how we help support your success <a href="https://developer.xero.com/documentation/xero-app-store/app-partner-guides/grow-your-app-with-xero/">here</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=460d20e2b246" width="1" height="1" alt=""><hr><p><a href="https://devblog.xero.com/xero-app-store-meet-junes-apps-460d20e2b246">Xero App Store: meet June’s apps</a> was originally published in <a href="https://devblog.xero.com">Xero Developer</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Webinar recap: June 2026 developer update]]></title>
            <link>https://devblog.xero.com/webinar-recap-june-2026-developer-update-a89f96798914?source=rss----ed4d3abf1c21---4</link>
            <guid isPermaLink="false">https://medium.com/p/a89f96798914</guid>
            <category><![CDATA[culture]]></category>
            <category><![CDATA[developer]]></category>
            <category><![CDATA[api]]></category>
            <category><![CDATA[xeroapi]]></category>
            <dc:creator><![CDATA[Corey Leung]]></dc:creator>
            <pubDate>Mon, 22 Jun 2026 05:32:50 GMT</pubDate>
            <atom:updated>2026-06-22T05:32:50.370Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/1*B_cxIouBQ31Un0JVFJP4GQ.jpeg" /></figure><p>Here’s the short version of our June developer webinar: the key points from each section, with the full detail saved for the recording. We picked up last quarter’s question — is everyone a developer now? — talked through the latest technical updates and migration prep, and looked ahead to the Dev Days and Xerocons coming up.</p><p>If you couldn’t make it, you can <a href="https://youtu.be/GSyx_XaJHjk">watch the full recording on the Xero Developer YouTube channel.</a></p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FGSyx_XaJHjk%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DGSyx_XaJHjk&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FGSyx_XaJHjk%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/42b60db512a871657e992c7e18b1ba0d/href">https://medium.com/media/42b60db512a871657e992c7e18b1ba0d/href</a></iframe><p><strong>Meet the panel</strong></p><ul><li><strong>Corey Leung:</strong> Developer Marketing Manager (Host)</li><li><strong>Breana McHugh:</strong> Senior API Technical Specialist</li><li><strong>Mae Nacario:</strong> Lead Product Manager</li><li><strong>Kirsten Spilg:</strong> Ecosystem Commercial &amp; Special Projects Lead</li><li><strong>Millie Soutter:</strong> Senior Developer Marketing Manager</li><li><strong>Annie Terry:</strong> Head of Platform Marketing</li><li><strong>Regan Ashworth:</strong> Head of Ecosystem Governance</li></ul><p><strong>The fireside chat: the Rise of the Builders in the Ecosystem</strong></p><p>Annie Terry and Regan Ashworth joined us to talk about what vibe coding means for builders. New app registrations are up fourfold since January, and a wider mix of people — small businesses, accountants, and bookkeepers — is now building. More builders is good for everyone, but trust, security, and the professional engineer’s role still matter. When a project outgrows a non-technical builder, <a href="https://developer.xero.com/custom-development">our development partners </a>are there to take it further.</p><p><strong>Technical deep dive</strong></p><p>Mae ran through the key API updates:</p><ul><li><a href="https://devblog.xero.com/consolidating-the-xero-practice-manager-api-moving-from-v3-0-to-v3-1-94bd054ee7f6"><strong>XPM 3.1 is here</strong></a><strong> </strong>— JSON responses, UUIDs, field selection, and pagination. v3.0 retires 30 April 2027; Leads, Purchase Orders, and Suppliers go earlier, on 5 August 2026.</li><li><strong>Role-based permission changes land 29 June </strong>— Reporting permission for journals, and BankAccountAdmin to edit bank details. No code changes needed.</li><li><strong>A new “Connect App” permission </strong>rolls out — existing Standard and Advisor users inherit it automatically.</li><li><a href="https://devblog.xero.com/upcoming-changes-to-xero-accounting-api-scopes-705c5a9621a0"><strong>Granular scopes</strong></a><strong> </strong>— your app already has them; move across before 13 September 2027.</li><li><strong>New in the AI toolkit </strong>— a Xero-hosted remote MCP server, in closed beta with a soft launch expected in Q2. Explore the full <a href="https://developer.xero.com/ai">Xero AI Toolkit</a>.</li></ul><p><strong>Migration: a quick refresher</strong></p><p>Apps created before 2 March are moving to usage billing by early July. Before you migrate: review your feature use, complete your certification or security assessment, and make sure your billing details are up to date (or you’ll be capped and moved to Starter). App Store listings need the Plus tier or above, and Starter is now capped at 1,000 calls per tenant per day.</p><p><strong>Developer programs</strong></p><p>Six ways to grow with Xero: optimise your listing, stay connected, get reviews, run your own campaigns, join the <a href="https://devblog.xero.com/xero-developer-growth-program-open-for-applications-apply-now-7c3dd8f39ea2">Growth Program</a>, and the <a href="https://devblog.xero.com/earn-money-with-the-new-xero-referral-program-40339978cfa5">Referral Program</a>. Plus, the <a href="https://devblog.xero.com/showcase-your-app-applications-for-the-xero-global-app-awards-2026-are-open-52240f990d52">Global App Awards </a>close 10 July (winners announced 18 August), the <a href="https://bit.ly/XeroDevCouncil">Xero Developer Advisory Council</a> is open for applications, and we’ve relaunched our Development Partners program with cleaner listings, better discovery, and a tiered model to come.</p><p><strong>Events: London, Denver, and roadshows</strong></p><ul><li><strong>🇬🇧 London </strong>— Xerocon 8–9 July at Olympia, plus a <a href="https://luma.com/vvvnk7bs">hackathon (4–5 July)</a>, an Ecosystem Payment Partners meetup (6 July), <a href="https://xero.jomablue.com/reg/store/xero-developer-day-ldn26">DevDay (7 July)</a>, and a 20th-anniversary-themed after-party. (London Xerocon exhibitor packages are now closed.)</li><li><strong>🇺🇸 Denver </strong>— DevDay 18 August, Xerocon 19–20 August (<a href="https://xero.jomablue.com/sites/xc26-exhibitor-prospectus-home">exhibitor packages still open</a>), and the after-party on 20 August.</li><li><strong>🌏 Roadshows </strong>— New Zealand (October–November) and Asia (Malaysia and Singapore in October), with Australia and the UK to follow in 2027.</li></ul><p><strong>Where to find us</strong></p><p>Catch us in person at our events, online at our quarterly webinars and weekly <a href="https://devblog.xero.com/were-loving-the-chats-come-join-us-at-our-next-xd-office-hours-7314ff1329de">office hours</a>, and across @XeroAPI on X and Instagram and Xero API on <a href="https://www.linkedin.com/showcase/xeroapi">LinkedIn</a>. Join the conversation on the <a href="https://devblog.xero.com/a-bigger-discord-for-a-bigger-year-revamping-the-xero-developer-day-server-9df3cdba5332">Xero Developer Day Discord Server,</a> explore <a href="https://developer.xero.com">developer.xero.com</a>, share feedback on <a href="https://xero.uservoice.com">UserVoice</a>, or reach us at api@xero.com.</p><p>See you at the next update!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a89f96798914" width="1" height="1" alt=""><hr><p><a href="https://devblog.xero.com/webinar-recap-june-2026-developer-update-a89f96798914">Webinar recap: June 2026 developer update</a> was originally published in <a href="https://devblog.xero.com">Xero Developer</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Fable 5 built us a working Xero-integrated app from a single prompt, before it got pulled]]></title>
            <link>https://devblog.xero.com/fable-5-built-us-a-working-xero-integrated-app-from-a-single-prompt-before-it-got-pulled-87dacdb87563?source=rss----ed4d3abf1c21---4</link>
            <guid isPermaLink="false">https://medium.com/p/87dacdb87563</guid>
            <category><![CDATA[xero]]></category>
            <category><![CDATA[claude-code]]></category>
            <category><![CDATA[fable-5]]></category>
            <category><![CDATA[claude]]></category>
            <category><![CDATA[xeroapi]]></category>
            <dc:creator><![CDATA[Corey Leung]]></dc:creator>
            <pubDate>Wed, 17 Jun 2026 05:34:25 GMT</pubDate>
            <atom:updated>2026-06-17T05:34:25.042Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/1*ZskPlGY00LRRrFpi6g-drA.jpeg" /></figure><p>For the third episode of <em>Is everyone a developer now?</em>, we changed the rules. Our first two builds ran on Lovable, an all-in-one platform that handles hosting, databases, and deployment so you never have to think about them. This time, Regan and I wanted to see what happens when you trade that comfort for control. So we opened a terminal, moved to Claude Code, and brought in Henry, an engineer on Xero’s infrastructure team who specialises in the systems that automatically build, test, and ship software, to guide me through a tool that’s a real step up</p><p>But the platform switch isn’t the headline. This is: the whole app worked from a single prompt. On every build we’ve done so far, we’ve spent roughly as much time debugging as building. This time, Fable 5 took one well-prepared prompt and produced a working, Xero-connected app on the first go. For a series where things usually break before they work, that’s a genuine leap. Fable 5 has since been pulled, so this turned out to be the last thing we built with it.</p><iframe src="https://cdn.embedly.com/widgets/media.html?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D4ipXjJhP610&amp;type=text%2Fhtml&amp;schema=google&amp;display_name=YouTube&amp;src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F4ipXjJhP610" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/db92fcd1086c72df178ad4bfbb65f2da/href">https://medium.com/media/db92fcd1086c72df178ad4bfbb65f2da/href</a></iframe><h3>The brief: a tracker that checks the books, not just the boxes</h3><p>This build didn’t start with one of our ideas. It started with an App Partner who told us exactly what they wanted: a tracker for month-end close. For accountants and bookkeepers, closing the month is a checklist (reconcile the bank, post the journals, review the reports, confirm everything ties out) repeated across every client before they can move on. The request was simple. Give me one place to see where each client is in that process.</p><p>We could have built a static checklist in ten minutes. Instead we asked a better question: what if the tracker connected to Xero and read the books behind each item? You still tick things off, but now the tick box is backed by live data, not just someone’s memory that they did it. That’s the difference between a plain to-do list and something genuinely useful.</p><h3>Why we traded Lovable’s convenience for Claude Code’s control</h3><p>Lovable makes the hard decisions for you, and that’s its strength. You describe what you want, press publish, and the things a working app needs behind the scenes (hosting, source control, and the database) are all taken care of. Claude Code is the opposite trade. It can do everything a developer would do, which means you get fine-grained control over every stage, and you also have to make the decisions Lovable quietly makes on your behalf.</p><p>Worth saying up front: there’s more than one way into Claude Code. You can use it through a desktop app or the browser, much like any chat window, or through the terminal. We went with the terminal because it’s what Henry and Regan are comfortable with, but that’s a preference, not a requirement.</p><p>And for someone non-technical, the terminal is easily the most intimidating door to walk through. As Henry put it, it’s just a text version of your computer: the same things happening behind a graphical interface, with the pictures stripped away. That reframe helped. It’s less foreign once you realise nothing magic is going on; it’s the same machine, talking back in plain text.</p><h3>The flow: most of the real work happened before the prompt</h3><p>We didn’t open the terminal and start typing code. That single-prompt result wasn’t luck. It was the payoff for everything we did before hitting enter. The more effort you put into shaping the right prompt up front, the less time (and the fewer tokens) you burn fixing things later. A few minutes of planning saved us what would normally be an afternoon of debugging. Here’s how that groundwork broke down:</p><p><strong>We scoped the idea in chat first.</strong> Before writing a single prompt, we used Claude to pressure-test what was even possible, mapping each checklist item to what the Xero API can actually return: profit and loss, the balance sheet, aged receivables and payables, GST and BAS, and manual journals. Knowing this upfront meant we built around what’s real, not what we wished existed.</p><p><strong>We handed it the right scopes.</strong> Xero<a href="https://devblog.xero.com/upcoming-changes-to-xero-accounting-api-scopes-705c5a9621a0"> moved to new granular OAuth 2.0 scopes</a> in June 2026. The scopes page is client-side rendered, so Claude couldn’t read it directly. But rather than guessing, it searched our developer docs and found the correct granular scopes anyway. No leftover broad scopes, which is exactly what you want from a brand-new app.</p><p><strong>We planned before we built.</strong> In the terminal, we switched to Fable 5, which had launched only that morning (and has since been pulled), turned on plan mode, and let Claude lay out its approach before touching any code. The plan was thorough. It suggested a progress bar, status lights, and per-item notes we hadn’t even asked for. We reviewed it like product managers: describe the problem, sanity-check the approach, change anything wrong now rather than after it’s built.</p><p><strong>We let it run.</strong> The build took about 15 minutes and was, almost unbelievably, a single prompt. The one thing that went wrong wasn’t the code. We’d connected to a Xero organisation with no data, because the demo company expires if you don’t use it. Once we spun up a fresh demo company, the tracker lit up: 12 unpaid invoices to chase before close, the balance sheet, the lot. Essentially a one-shot wonder.</p><h3>The tech stack: three parts, not thirty</h3><p>The point of vibe coding is that the stack is increasingly modular. For this build it really came down to three things:</p><ul><li><strong>Claude Chat:</strong> where we shaped the idea before building, pressure-testing what the Xero API could do, refining the prompt, and looking up the right scopes.</li><li><strong>Claude Code, running Fable 5:</strong> where everything got built. We used its plan mode to think before writing, approved the approach, then let it make the rest of the calls, including choosing Node for the web app and writing every line of code.</li><li><strong>The Xero API:</strong> the engine. The interface and logic are generated, but the value comes from 20 years of accounting data structure underneath. Connecting to it meant the new granular OAuth 2.0 scopes for read-only access to the books, and keeping our credentials in a local file rather than pasting them into the model.</li></ul><h3>The honest part: working isn’t the same as shippable</h3><p>Here’s where Claude Code earns its keep, and where it asks more of you. Right now, our tracker is exactly as secure as my laptop. Only I can reach it, which is fine for a prototype and a terrible idea to expose from a work machine. To make it usable by other people, you’re into real decisions: where to host it, where the code lives for source control, where to store data, and whether that data has to sit in a particular country. Lovable answers all of those for you with a publish button. With Claude Code, as Regan put it, we’re probably not even halfway.</p><p>That’s not a knock on either tool. It’s the trade. If you want a proof of concept in front of people fast, an all-in-one platform is brilliant. If you want control over every decision, Claude Code gives it to you, along with everything you now have to decide.</p><p>Henry’s advice for anyone feeling the overwhelm was the most useful thing in the episode: the volume of unfamiliar stuff doesn’t mean you’re not cut out for this. It’s just how development works. Learn one thing at a time. Ask an AI chat like Claude or Gemini to describe what’s happening rather than blindly accepting it. Do that consistently, and the learning compounds faster than you’d ever expect.</p><h3>What’s next: from “runs on my machine” to published</h3><p>We got a connected, working app in a single prompt, and we’re only partway to something other people could actually use. That gap is the interesting bit. In a future episode we want to keep going: source control, hosting, a database, security, and making it discoverable. The move from “runs on my machine” to “published and trusted” is its own build, and we’d like to show you exactly what it takes.</p><p>Fable 5 is gone for now, but that matters less than you’d think. As Henry pointed out, it isn’t far off Opus, and the way you build this way is fundamentally the same whichever model you use. The parts that last are the Xero API underneath and your own judgement about what’s worth building. Swap the model, keep the approach, and the next one will clear the bar Fable 5 set.</p><p><a href="https://youtu.be/4ipXjJhP610"><em>Watch the full episode </em></a><em>on the Xero Developer YouTube channel to see the build in action.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=87dacdb87563" width="1" height="1" alt=""><hr><p><a href="https://devblog.xero.com/fable-5-built-us-a-working-xero-integrated-app-from-a-single-prompt-before-it-got-pulled-87dacdb87563">Fable 5 built us a working Xero-integrated app from a single prompt, before it got pulled</a> was originally published in <a href="https://devblog.xero.com">Xero Developer</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The future of the ecosystem: Good judgment in the age of vibe coding]]></title>
            <link>https://devblog.xero.com/the-future-of-the-ecosystem-good-judgment-in-the-age-of-vibe-coding-4b82cf846610?source=rss----ed4d3abf1c21---4</link>
            <guid isPermaLink="false">https://medium.com/p/4b82cf846610</guid>
            <category><![CDATA[vibe-coding]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[product]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[Corey Leung]]></dc:creator>
            <pubDate>Wed, 10 Jun 2026 02:58:27 GMT</pubDate>
            <atom:updated>2026-06-10T02:58:27.431Z</atom:updated>
            <content:encoded><![CDATA[<h3>Ketan Kittur, Xero’s VP Product — Core Accounting, on AI prototyping and where human expertise still matters most</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/1*k4RoXpeBSoPpayGuKRbvtw.jpeg" /></figure><p>In <a href="https://devblog.xero.com/the-future-of-the-ecosystem-the-rise-of-builders-in-the-age-of-vibe-coding-39c15eb4aa2e">our last article</a>, Jon Bell, Xero Developer’s Principal Product Designer, argued that the traditional labels of “designer” and “developer” are blurring, replaced by a new kind of creator he calls the “builder.” If the roles of design and engineering are blurring, what about the person who sits between them? The product manager.</p><p>We sat down with Ketan Kittur, Xero’s VP Product — Core Accounting, to find out.</p><p>Few people have had a front-row seat to as many platform shifts as Ketan has. He started his product career in the early days of mobile internet, helping build the infrastructure that powered data services on mobile phones at Openwave Systems, before moving to Nokia where he led the browser and developer platform as smartphones reshaped the industry. He then spent nearly eight years leading the developer platform at another major accounting software company, where he oversaw 10x growth in active developers and third-party app integrations, before taking on the platform and AI partnerships portfolio at Box. Now at Xero, he’s responsible for the core accounting platform and US products.</p><p>That kind of career, spanning mobile, SaaS, platform ecosystems, and now AI, means Ketan has seen this pattern before and knows what actually changes and what doesn’t. So we asked him: is the vibe coding shift actually different from what came before? And what does it mean for the Xero ecosystem?</p><h3>Three prototypes, three real problems</h3><p>When we asked Ketan how he’s been using AI tools, he didn’t give us a philosophical answer. He gave us a list.</p><p>Over the past several months, Ketan has built working prototypes using the Xero MCP server and Claude. These are internal proofs of concept, not finished products or blueprints for external developers to replicate. Their purpose is to test what’s possible, gather real customer feedback, and inform what gets built properly down the line. Each one was targeted at a real business problem.</p><p>The first was a livestock accounting tool for Australian agriculture, a capability Xero doesn’t currently offer. Ketan built a Claude chat interface that could handle the complexity of writing and posting to journals. “Livestock accounting is a capability we just don’t have,” he explains. The prototype let him explore what that could look like for customers before any engineering was involved.</p><p>The second was a prepayment and approval workflow tool, built and submitted as a hackathon entry. The problem it addressed is a familiar one for small business owners: they often can’t identify which invoices are prepayments, and end up manually creating repeating journals. The prototype automated that process end-to-end.</p><p>The third was the most ambitious: a proof of concept built for Xero’s enterprise pre-sales team. Xero currently supports only two tracking categories, which creates friction for larger businesses that need more. Ketan used the MCP and Claude layer to create additional tracking categories and write the output to a spreadsheet, with a clear path to a Postgres database if it went to production. The goal was to support pre-sales conversations, showing large enterprise prospects what a more flexible Xero could look like.</p><p>The thinking behind all three was the same: push the current limitations of the platform far enough that you can show a customer what’s possible, take that feedback, and then build a product that actually makes sense.</p><h3>The thing engineering backlogs used to kill</h3><p>Ketan has navigated major technology shifts throughout his career, and when we asked him whether this one is genuinely different, his answer was clear. It’s not just speed. It’s the nature of what’s possible.</p><p>“Previously, you had to get on an engineering backlog and test it,” he says. “It just took a long time. It curtailed creativity. It limited potential opportunities.”</p><p>The ability to prototype a concept quickly, put it in front of a real customer before writing a product specification, and gather real feedback changes the shape of the entire discovery process. Ketan describes it as “inspiring”: for internal teams, who can suddenly see what’s possible, and for customers, who can react to something tangible.</p><p>This doesn’t mean product managers are replacing engineers. Ketan is emphatic on that point. Once you’ve tested a concept, he says, you still need engineering for infrastructure, scalability, and production. That’s not going away. What’s changed is that the earlier stages of the process, forming a hypothesis, testing a concept, gathering customer feedback, can now happen without waiting.</p><h3>Everyone gets a better toolkit. Not a replacement.</h3><p>One of the recurring questions across this series has been what effect has AI had on traditional roles. Regan Ashworth argued that “everyone who wants to be a developer can be now.” Jon Bell suggested that “developer” and “designer” are being replaced by a single word: builder.</p><p>Ketan’s view is more measured, and it’s worth sitting with.</p><p>“I don’t want to take the position that design is going to go away or engineering is going to go away,” he says. “I think everyone now has a very powerful toolkit to hone their own craft to a level that was not possible previously.”</p><p>The distinction matters. It’s not that roles are merging so much as the tools available to each role have become far more powerful. A product manager with access to MCP and Claude can now validate an idea before it ever touches an engineering backlog. When it comes to scaling, securing, and shipping, engineering expertise remains the irreplaceable ingredient.</p><p>“We still need all these functions,” Ketan says. “They serve a purpose. They have a craft to them. What you can do now is work with each other to create and amplify an even better product than was previously possible.”</p><h3>The best product managers have the best judgement</h3><p>A more powerful toolkit, though, also raises a more important question, one that every article in this series has circled: what happens when someone with no engineering background builds something and tries to put it in front of real users?</p><p>Ketan doesn’t hedge here. As a product leader, he has a specific frame for it.</p><p>“I think some of the best product managers have the best judgment,” he says. “Judgment on how much to build, when to say no, how to build insights and look at signal versus noise.” In his view, that judgment is what defines great product leadership, and it’s exactly what’s being tested by the rise of vibe coding.</p><p>“Anyone who says, ‘I’ve done two or three vibe coding prototypes, I’m going to push that as a PR to production.’ That’s terrible judgment,” he says. “You don’t know what you don’t know.”</p><p>Security is the clearest example. When you’re not an expert in security protocols, Ketan argues, you can’t know what you’re missing. The answer isn’t to avoid building. It’s to be humble about what the prototype is and isn’t. “You have to work with experts in the space,” he says. “That’s how you build it the right way.”</p><p>This is the argument that separates the prototype from the product. Vibe coding has genuine power in the discovery phase: it lets you move fast, test ideas, and show customers what’s possible before a line of production code is written. But as Ketan puts it, the last 25–90% of the work, depending on the complexity of the app, still requires proper engineering. The judgment to know where that line is? That’s on the builder.</p><h3>More quality apps, not just more apps</h3><p>Looking at the broader ecosystem, Ketan sees a shift coming, but it’s not the one you might expect.</p><p>“Perhaps we may see more apps,” he says. “But I actually see it slightly differently. We will see more quality apps.”</p><p>He’s candid about the other side of that prediction. Alongside the quality, he expects to see a lot of what he calls “AI slop”: apps that aren’t well thought through, that work well as a prototype but don’t actually solve the underlying problem. Many of these will stall in that final stretch because their creators didn’t know what they didn’t know.</p><p>His recommendation isn’t to raise the barrier. It’s to change the framing. Rather than treating AI as the final word on development, he wants to see builders use it as a fast path to a real question. “Give developers patterns and ideas on how to test their concepts quickly,” he says. “Help them understand how to use AI in development, versus thinking about AI as the end-all for development. There’s a difference, and I think that will open up their minds.”</p><p>That’s ultimately the thread that runs through everything Ketan shared: prototyping is about asking better questions faster, not skipping the hard work. That distinction, knowing when the prototype has done its job, is what separates a good product instinct from a wasted sprint.</p><p><strong>Ready to start building?</strong> Explore the <a href="https://developer.xero.com/ai">Xero AI Toolkit</a>, including the MCP Server, Agentic SDKs, and Prompt Library, to start prototyping with the Xero MCP Server, Agentic SDKs, and Prompt Library.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4b82cf846610" width="1" height="1" alt=""><hr><p><a href="https://devblog.xero.com/the-future-of-the-ecosystem-good-judgment-in-the-age-of-vibe-coding-4b82cf846610">The future of the ecosystem: Good judgment in the age of vibe coding</a> was originally published in <a href="https://devblog.xero.com">Xero Developer</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Rally your community: The Xero People’s Choice Award 2026 is officially in your hands]]></title>
            <link>https://devblog.xero.com/rally-your-community-the-xero-peoples-choice-award-2026-is-officially-in-your-hands-b54d092a2cfd?source=rss----ed4d3abf1c21---4</link>
            <guid isPermaLink="false">https://medium.com/p/b54d092a2cfd</guid>
            <category><![CDATA[culture]]></category>
            <category><![CDATA[xero-developer]]></category>
            <category><![CDATA[community]]></category>
            <category><![CDATA[tips-and-tricks]]></category>
            <dc:creator><![CDATA[Millie Soutter]]></dc:creator>
            <pubDate>Mon, 08 Jun 2026 21:28:37 GMT</pubDate>
            <atom:updated>2026-06-08T21:28:37.746Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="Rally your community: The Xero People’s Choice Award 2026 is officially in your hands" src="https://cdn-images-1.medium.com/max/1000/1*0urv-qdPV3CaF8LrSPMZgA.png" /></figure><p>Whether you’ve already started drafting your application for the <strong>Xero Global App Awards 2026</strong> or you’re still pulling together your standout applications, there’s one unique category where the judges don’t get a say.</p><p>Instead, it is entirely in the hands of the people who know your product best: your users.</p><p>Welcome to the <strong>People’s Choice Award.</strong></p><h3>It’s all about your community</h3><p>The People’s Choice Award celebrates the apps that have won the hearts of the Xero customers. It’s an incredible opportunity for advisors, accountants, bookkeepers, and small business owners to publicly recognise the tools that bring peace of mind, save them hours of manual work, and make a massive difference in their day-to-day operations.</p><p>Because our finalists are shortlisted based on receiving the highest number of unique nominations, you can’t win this one alone. The secret to success? Run a campaign through your own channels and ask your loyal network of users to back you.</p><p><strong>We’ve built your promotion toolkit 📣</strong></p><p>You don’t need to spend hours designing assets or sweating over copywriting from scratch. We want to make it as easy as possible for you to rally your community, so we’ve put together a plug-and-play 2026 Promotion Toolkit.</p><p>Inside, you’ll find everything you need to hit the ground running:</p><ul><li>a ready-to-send customer email template</li><li>newsletter blurbs you can personalise</li><li>pre-drafted social posts</li><li>graphics and assets to help your app stand out</li></ul><p><strong>👉 </strong><a href="https://developer.xero.com/xero-global-app-awards-2026-app-partner-guide"><strong>Start your People’s Choice campaign here</strong></a></p><p><strong>Don’t forget the other global categories</strong></p><p>While your customers are busy handling your People’s Choice nominations, don’t let your momentum stop there. You can still submit your own application for our core, expert-judged global categories to unlock that massive trust signal for Xero’s 4.4 million subscribers:</p><ul><li><strong>Practice App of the Year:</strong> For apps that empower accounting and bookkeeping practices with meaningful, transformative impact.</li><li><strong>Small Business App of the Year: </strong>Celebrating the tools that help small businesses thrive and make operational life easier.</li><li><strong>Emerging App of the Year:</strong> Recognising early-stage apps displaying high potential and strong regional traction.</li><li><strong>Innovation App of the Year: </strong>Honouring bold, breakthrough ideas that fundamentally change how work gets done.</li><li><strong>Development Partner of the Year:</strong> Recognising the incredible builders and developers expanding the capabilities of the Xero platform.</li></ul><p><strong>👉 </strong><a href="https://xeroglobalappawards.awardsplatform.com/"><strong>Submit your core category application here</strong></a></p><p><em>To ensure a completely fair process, individuals can only submit one vote total. To prevent conflicts of interest, representatives, contractors, or employees of an app company cannot nominate their own app. Xero-owned apps and bank feeds are also excluded from eligibility.</em></p><p><strong>The clock is ticking down to 10 July 2026. </strong>Now is the perfect time to polish your entry, download your toolkit, and get your community talking. We can’t wait to see who they choose!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b54d092a2cfd" width="1" height="1" alt=""><hr><p><a href="https://devblog.xero.com/rally-your-community-the-xero-peoples-choice-award-2026-is-officially-in-your-hands-b54d092a2cfd">Rally your community: The Xero People’s Choice Award 2026 is officially in your hands</a> was originally published in <a href="https://devblog.xero.com">Xero Developer</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Guest blog: Adding an accounting intent layer between OCR and the Xero API]]></title>
            <link>https://devblog.xero.com/guest-blog-adding-an-accounting-intent-layer-between-ocr-and-the-xero-api-5acb0dbc9584?source=rss----ed4d3abf1c21---4</link>
            <guid isPermaLink="false">https://medium.com/p/5acb0dbc9584</guid>
            <category><![CDATA[xero-developer]]></category>
            <category><![CDATA[community]]></category>
            <category><![CDATA[tips-and-tricks]]></category>
            <category><![CDATA[culture]]></category>
            <category><![CDATA[developer-tips]]></category>
            <dc:creator><![CDATA[Millie Soutter]]></dc:creator>
            <pubDate>Tue, 02 Jun 2026 00:10:19 GMT</pubDate>
            <atom:updated>2026-06-02T00:10:21.066Z</atom:updated>
            <content:encoded><![CDATA[<p><strong><em>The Xero ecosystem is rich with apps helping to make the lives of accountants, bookkeepers, and businesses easier. We love inviting our app partners to share their technical best practices and deep-domain expertise with the community. This week, we have Björn Krollner, Founder of BillBjorn, sharing insights on why structured data is only half the battle. Björn walks us through a sophisticated implementation pattern that moves beyond simple OCR to solve the “last mile” of accounting: understanding the buyer’s intent.</em></strong></p><figure><img alt="Adding an accounting intent layer between OCR and the Xero API" src="https://cdn-images-1.medium.com/max/1000/1*IHqgMZPMBvHFnn2tV0JAww.png" /></figure><p>OCR can read an invoice. E-invoicing can deliver cleaner invoice data.</p><p>But neither answers the question that matters when a bill reaches Xero: how does this buyer want it coded?</p><p>That gap appears when one supplier invoice contains several accounting intents. The invoice describes what was bought. The buyer’s Xero setup defines how it should be treated.</p><p>A useful implementation pattern is to add a buyer-side accounting intent layer between extraction and the Xero API. In BillBjorn, this is the role of AutoCode: an AI matcher compares extracted invoice lines with buyer-defined category hints, then maps the selected category to Xero-ready outputs.</p><h3>One invoice, three accounting intents</h3><p>Imagine a cafe receives this supplier invoice:</p><figure><img alt="Fresh coffee beans $180.00 Compostable takeaway cups $64.00 Delivery fee $17.50 Total $261.50" src="https://cdn-images-1.medium.com/max/1024/1*MwV8DynW56n11FANsDPiww.png" /></figure><p>The supplier sees one invoice. The buyer may want three different accounting outcomes:</p><figure><img alt="Fresh coffee beans -&gt; Food / Cost of Goods Sold Takeaway cups -&gt; Packaging Delivery fee -&gt; Freight" src="https://cdn-images-1.medium.com/max/1024/1*kXN73sNSGV8aOZa1y1wpNA.png" /></figure><p>The coding decision comes from the buyer’s Xero chart of accounts, tax setup, tracking categories, and preferences. Delivery may map to Freight for one buyer and COGS for another.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*yQf7JOJKMAO2V5iGjhLmeA.png" /></figure><h3>Where default coding stops working</h3><p>A default account per supplier works when invoices are consistent.</p><p>Multi-account invoices are harder. A fixed amount split works only when the invoice is predictable: code $10.00 to Freight and the rest to Food. When the supplier charges $17.50, $22.00, or waives delivery, the rule no longer reflects the bill.</p><p>Percentage splits break when the invoice mix changes. Split-by-tax breaks when categories share the same tax treatment. Keyword lists break when descriptions drift.</p><p>A Food category should not need a long exact-match list for coffee beans, milk, bread, produce, catering, sandwiches, and supplier-specific variations. Mixed invoices need semantic interpretation inside buyer-defined constraints.</p><h3>Structured invoice data is not enough</h3><p>E-invoicing improves invoice exchange. It gives developers structured fields for supplier, buyer, invoice number, dates, line items, tax, and totals.</p><p>But structured data still does not resolve buyer-side accounting context. An e-invoice may say:</p><figure><img alt="Delivery fee: $17.50" src="https://cdn-images-1.medium.com/max/1024/1*RYT0go3xAFqBCRGLJB-55g.png" /></figure><p>It does not know whether this buyer wants that amount coded to Freight, COGS, a reimbursable expense account, or a tracking category. Clean line-item data is the input. Accounting intent is still buyer-specific.</p><h3>The constrained AI matching pattern</h3><p>AutoCode rules define the buyer’s allowed accounting categories and provide an AI Matching Hint for each one:</p><figure><img alt="Category: Food AI Matching Hint: Ingredients and consumable food items Xero account: Cost of Goods Sold Category: Packaging AI Matching Hint: Disposable packaging supplied with orders Xero account: Packaging Category: Freight AI Matching Hint: Supplier delivery, freight, or shipping charges Xero account: Freight" src="https://cdn-images-1.medium.com/max/1024/1*VHwlVc3joOeGuTxZucctlw.png" /></figure><p>The hint describes meaning, not an exhaustive keyword list. Because the AI matcher compares meaning rather than exact text, it can categorise new invoice descriptions. “Arabica beans”, “milk for coffee”, or “bread rolls” can still match Food if they fit the category hint.</p><p>A practical design is two-stage: extract invoice lines first, then match those lines against the buyer’s configured category buckets.</p><figure><img alt="{ “invoiceLines”: [ { “description”: “Fresh coffee beans”, “amount”: 180.00 }, { “description”: “Compostable takeaway cups”, “amount”: 64.00 }, { “description”: “Delivery fee”, “amount”: 17.50 } ], “categoryBuckets”: [ { “name”: “Food”, “hint”: “Ingredients and consumable food items” }, { “name”: “Packaging”, “hint”: “Disposable packaging supplied with orders” }, { “name”: “Freight”, “hint”: “Delivery, freight, courier, or shipping charges” } ] }" src="https://cdn-images-1.medium.com/max/1024/1*Zd1xSCa6qY5ynEfUoEff8Q.png" /></figure><p>The AI matcher returns user defined categories, not accounting guesses:</p><figure><img alt="{ “matches”: { “Fresh coffee beans”: “Food”, “Compostable takeaway cups”: “Packaging”, “Delivery fee”: “Freight” } }" src="https://cdn-images-1.medium.com/max/1024/1*dhW4CrftOLpRSX-EdiMEPQ.png" /></figure><p>That is safer than asking AI to invent final Xero coding in one step.</p><h3>Keep the guardrails visible</h3><p>The safe behaviour is not to guess. If a line such as “service charge” does not clearly belong to Food, Packaging, or Freight, keep it as an exception:</p><figure><img alt="Service charge $12.00 -&gt; Unmatched, review required" src="https://cdn-images-1.medium.com/max/1024/1*Am1dqYbQ3dqdfboJ2xZE5A.png" /></figure><p>That creates review-by-exception instead of silent miscoding.</p><h3>Map intent to Xero-ready lines</h3><p>Once invoice lines are matched, the accounting layer maps each category to the customer’s Xero-connected setup: account code, tax type, tracking options, description, and amount.</p><figure><img alt="Description Amount Account Code Tax Type Tracking Food $180.00 500 GST Brisbane Packaging $64.00 510 GST Brisbane Freight $17.50 520 GST Brisbane" src="https://cdn-images-1.medium.com/max/1024/1*OBJIU9RNu7ePZLTIB5Jtdw.png" /></figure><p>This separates intent from implementation:</p><figure><img alt="Semantic layer: “This line looks like Freight.” Accounting layer: “For this buyer, Freight maps to account 520 with this tax type and tracking option.”" src="https://cdn-images-1.medium.com/max/1024/1*FcuyJZ0ml1I71h1c9FKxBw.png" /></figure><p>In BillBjorn, that separation keeps AI matching constrained by the buyer’s configured categories while still producing review-ready bill lines for Xero.</p><h3>Takeaway</h3><p>The next useful invoice automation layer is constrained interpretation: extracted invoice data, buyer-defined category hints, semantic matching, Xero-connected accounting defaults, and human review for exceptions.</p><p>The important design choice is to let AI classify within configured accounting boundaries, then let deterministic mapping produce the Xero API payload.</p><p>Invoice data tells you what happened. The buyer’s accounting setup tells you how it should be coded.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=5acb0dbc9584" width="1" height="1" alt=""><hr><p><a href="https://devblog.xero.com/guest-blog-adding-an-accounting-intent-layer-between-ocr-and-the-xero-api-5acb0dbc9584">Guest blog: Adding an accounting intent layer between OCR and the Xero API</a> was originally published in <a href="https://devblog.xero.com">Xero Developer</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[A bigger Discord for a bigger year: revamping the Xero Developer Day server]]></title>
            <link>https://devblog.xero.com/a-bigger-discord-for-a-bigger-year-revamping-the-xero-developer-day-server-9df3cdba5332?source=rss----ed4d3abf1c21---4</link>
            <guid isPermaLink="false">https://medium.com/p/9df3cdba5332</guid>
            <category><![CDATA[xero]]></category>
            <category><![CDATA[hackathons]]></category>
            <category><![CDATA[xeroapi]]></category>
            <dc:creator><![CDATA[Corey Leung]]></dc:creator>
            <pubDate>Thu, 21 May 2026 03:38:10 GMT</pubDate>
            <atom:updated>2026-06-16T05:51:31.337Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1000/1*sBj6OXO4tCl-eIkpY426aQ.jpeg" /></figure><p>You probably heard <a href="https://devblog.xero.com/save-the-date-devdays-are-back-xero-developer-is-coming-to-london-and-denver-in-2026-dcc48326c214?gi=7ea37941002c">we’re bringing Xero Developer Days back in 2026</a>, this time, in two cities. London on 7 July (alongside Xerocon London on 8–9 July) and Denver on 18 August (alongside Xerocon Denver on 19–20 August). <a href="https://luma.com/vvvnk7bs">We’re also running a hackathon in London in the lead-up to DevDay.</a></p><p>That’s a lot more happening, in a lot more places. So we’re giving the Xero Developer Discord server a refresh to match. You can join via the link <a href="https://discord.gg/PEWhYW7VgD">here</a>.</p><h3>What’s changing</h3><p>Last year’s Discord was built around a single event in Brisbane. This year, the same server now needs to support three: a hackathon, DevDay London, and DevDay Denver. We’ve reorganised the channels so you can find what you need without scrolling through chatter that doesn’t apply to you.</p><p>Here’s what’s new:</p><ul><li><strong>A dedicated hackathon space</strong> with channels for technical support and general information</li><li><strong>Combined DevDay channels</strong> that cover both London and Denver, so you can participate whether you’re following along remotely or attending in person</li><li><strong>Forum-style channels</strong> for hackathon support and team formation, along with a show and tell, so information doesn’t get lost in the shuffle</li></ul><h3>Who the Discord server is for</h3><p>If you’re attending any of the 2026 events in person, the Discord is where you’ll get logistics updates, meet other attendees beforehand, and access key information afterwards. If you can’t make it in person, the server is your way to follow along virtually, ask questions, and stay part of the conversation.</p><p>The server also stays active all year round meaning you don’t need to wait for an event to drop in, share what you’re building, or ask the team a question.</p><h3>How to join the Discord Server</h3><p>If you’re already in last year’s server, you don’t need to do anything, the new structure is already there waiting for you. Just head back in!</p><p>If you’re new, you can join via the link <a href="https://discord.gg/PEWhYW7VgD">here</a>. You’ll be asked a couple of questions and prompted to agree to our community guidelines before you’re let in. Once you’re through, introduce yourself, and have a look around.</p><p>We’ve got a big few months ahead and we’re looking forward to having you come along for the ride.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=9df3cdba5332" width="1" height="1" alt=""><hr><p><a href="https://devblog.xero.com/a-bigger-discord-for-a-bigger-year-revamping-the-xero-developer-day-server-9df3cdba5332">A bigger Discord for a bigger year: revamping the Xero Developer Day server</a> was originally published in <a href="https://devblog.xero.com">Xero Developer</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>