<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>WebKoding</title>
    <link>https://webkodingtheme.com/blog</link>
    <description>One job per article: the problem as it turns up, and the tool that ends it.</description>
    <language>en</language>
    <atom:link href="https://webkodingtheme.com/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>UAE e-invoicing is coming to your WooCommerce shop. What that means in practice.</title>
      <link>https://webkodingtheme.com/blog/uae-e-invoicing-2026-woocommerce</link>
      <guid isPermaLink="true">https://webkodingtheme.com/blog/uae-e-invoicing-2026-woocommerce</guid>
      <pubDate>Thu, 03 Sep 2026 09:00:00 GMT</pubDate>
      <description>The UAE is moving to a model where invoices are exchanged through accredited service providers rather than emailed as PDFs. For a WooCommerce shop that is not a formatting change — it is a new step between taking an order and having issued an invoice, and one you cannot do entirely on your own server.</description>
    </item>
    <item>
      <title>Seating a wedding is not a booking system</title>
      <link>https://webkodingtheme.com/blog/wordpress-seating-chart-plugin</link>
      <guid isPermaLink="true">https://webkodingtheme.com/blog/wordpress-seating-chart-plugin</guid>
      <pubDate>Thu, 03 Sep 2026 09:00:00 GMT</pubDate>
      <description>Most plugins that mention seating are ticketing tools: rows of numbered seats that strangers buy one at a time. A wedding, a gala or an awards dinner is the opposite problem. Nobody buys a seat. One person decides where two hundred named guests sit, changes their mind eleven times, and needs to print the result.</description>
    </item>
    <item>
      <title>Selling units from a floor plan, without a portal</title>
      <link>https://webkodingtheme.com/blog/wordpress-floor-plan-selector</link>
      <guid isPermaLink="true">https://webkodingtheme.com/blog/wordpress-floor-plan-selector</guid>
      <pubDate>Thu, 03 Sep 2026 09:00:00 GMT</pubDate>
      <description>A buyer looking at a development wants to see the building and click the flat. What most sites give them is a PDF of the plan and a contact form, which means the site knows nothing about which unit they were interested in and the enquiry arrives saying “I liked the one on the third floor”.</description>
    </item>
    <item>
      <title>Group buying only works if the discount is a promise you can keep</title>
      <link>https://webkodingtheme.com/blog/woocommerce-group-buy</link>
      <guid isPermaLink="true">https://webkodingtheme.com/blog/woocommerce-group-buy</guid>
      <pubDate>Thu, 03 Sep 2026 09:00:00 GMT</pubDate>
      <description>The mechanic is simple to describe and awkward to build: the price falls when enough people buy. The awkwardness is in the middle — the period where somebody has paid the higher price and the group has not filled yet, and you owe them either a refund or an explanation.</description>
    </item>
    <item>
      <title>Your WooCommerce webhook is not firing. Here is the order to check things in.</title>
      <link>https://webkodingtheme.com/blog/woocommerce-webhook-not-firing</link>
      <guid isPermaLink="true">https://webkodingtheme.com/blog/woocommerce-webhook-not-firing</guid>
      <pubDate>Thu, 03 Sep 2026 09:00:00 GMT</pubDate>
      <description>A webhook that stops is rarely broken in the way it looks broken. WooCommerce fires it, something at the other end times out, WooCommerce marks the webhook disabled after five failures, and from then on nothing happens at all — silently, with no email and nothing on any screen you normally look at. Most of the time the integration was fine and the receiver was asleep.</description>
    </item>
    <item>
      <title>A product configurator is a pricing problem, not a UI problem</title>
      <link>https://webkodingtheme.com/blog/woocommerce-product-configurator-prices</link>
      <guid isPermaLink="true">https://webkodingtheme.com/blog/woocommerce-product-configurator-prices</guid>
      <pubDate>Thu, 03 Sep 2026 09:00:00 GMT</pubDate>
      <description>The visible half of a configurator is easy: dropdowns, swatches, a live preview, a total that updates as somebody chooses. The half that decides whether you can trust it is invisible — whether the price the customer saw is the price your shop charges, or whether the browser was allowed to decide.</description>
    </item>
    <item>
      <title>Renting something is not selling it, and WooCommerce only knows how to sell</title>
      <link>https://webkodingtheme.com/blog/woocommerce-rental-not-a-product</link>
      <guid isPermaLink="true">https://webkodingtheme.com/blog/woocommerce-rental-not-a-product</guid>
      <pubDate>Thu, 03 Sep 2026 09:00:00 GMT</pubDate>
      <description>WooCommerce has one idea of stock: you had ten, you sold one, you have nine. A rental returns. It is unavailable for a range of dates rather than permanently, it needs cleaning or charging before the next hire, and the price depends on how long somebody keeps it. None of that is a setting you can switch on.</description>
    </item>
    <item>
      <title>WooCommerce shows you revenue. Revenue is not the number you need.</title>
      <link>https://webkodingtheme.com/blog/woocommerce-profit-not-revenue</link>
      <guid isPermaLink="true">https://webkodingtheme.com/blog/woocommerce-profit-not-revenue</guid>
      <pubDate>Thu, 03 Sep 2026 09:00:00 GMT</pubDate>
      <description>A shop doing well on the WooCommerce dashboard can be losing money on half its catalogue. The dashboard adds up what came in; it does not know what anything cost you, what the payment provider took, what shipping actually ran to, or which of your best sellers you would be better off not selling.</description>
    </item>
    <item>
      <title>ZATCA Phase 2 in WooCommerce: what actually has to happen</title>
      <link>https://webkodingtheme.com/blog/zatca-phase-2-woocommerce</link>
      <guid isPermaLink="true">https://webkodingtheme.com/blog/zatca-phase-2-woocommerce</guid>
      <pubDate>Thu, 03 Sep 2026 09:00:00 GMT</pubDate>
      <description>Phase 1 asked you to print a QR code on a PDF. Phase 2 asks your shop to sign every invoice with a certificate ZATCA issued to you, chain each one to the last, and send it to ZATCA — for B2C within twenty-four hours, for B2B before you hand it to the customer at all. Most WooCommerce plugins that mention ZATCA only do Phase 1, and the difference is not a setting.</description>
    </item>
    <item>
      <title>How do you stop two exhibitors booking the same stand?</title>
      <link>https://webkodingtheme.com/blog/stop-double-booking-stands</link>
      <guid isPermaLink="true">https://webkodingtheme.com/blog/stop-double-booking-stands</guid>
      <pubDate>Fri, 28 Aug 2026 09:00:00 GMT</pubDate>
      <description>Double bookings happen when the plan and the payment live in different places: the hall plan is a PDF, the bookings are an email thread, and two people say yes to the same stand on the same afternoon. The fix is one source of truth that locks a stand the moment someone starts paying for it.</description>
    </item>
  </channel>
</rss>
