<?xml version="1.0" encoding="UTF-8"?>
<!--
  ERP-G Accounting — sitemap. License: 0c83242bec58caee

  ⛔ NO TRANSACTIONAL DOOR, AND THAT IS THE POINT. Of the routes the router declares with
  meta.public, nine are transactional doors (login, register, the MFA pair, the
  reset trio, accept-invite, oauth/callback, auth/disavow). A sitemap is a list of pages worth
  RETURNING as an answer, not a list of pages a stranger may open. Listing a password-reset form
  competes with the product page for the one result a person actually reads, and robots.txt
  disallows those same nine for the same reason.

  ⚠️ AND EVERY PATH HERE IS DERIVED, NOT TYPED FROM MEMORY. The four legal slugs are the four the
  component itself accepts (web/src/views/public/LegalDocView.vue:41 — terms, privacy, refund,
  contact); anything else falls back to 'terms', so an invented slug would be a URL that answers
  200 with the WRONG page, which is worse than a 404 for indexing. A guard keeps that true:
  web/tests/unit/theSitemapOnlyNamesPagesThatExist.spec.ts fails if a path here stops resolving, or
  if this file and robots.txt ever name different hosts.

  🔴 THE HOST IS erp-g.com, NOT app.erp-g.com (2026-09-26). Every URL here named the application host,
  written before the owner made erp-g.com the one primary domain (2026-09-20) and before the edge began
  refusing AI and search crawlers on app.erp-g.com (2026-09-25, §M-88). Measured from outside: bingbot
  → erp-g.com/legal/terms 200, app.erp-g.com/legal/terms 403 — the sitemap sent every crawler to the one
  host that turns it away, and Bing had indexed zero pages of erp-g.com.

  ✅ THE PRODUCT AND INDUSTRY PAGES ARE LISTED IN BOTH LANGUAGES, EACH WITH ITS hreflang PAIR (2026-10-13).
  They are client-rendered, so the alternate links the page writes into its head exist only after its
  script runs; written here, a crawler learns the pair without executing anything. The list is derived
  from PRODUCT_PAGES (web/src/i18n/product/pages.ts), and G-PRODUCTPAGE fails if a page is missing here
  or from llms.txt — a page nobody can find is a page that was never published.

  ⚠️ <lastmod> IS DELIBERATELY ABSENT. A date here is a second authority for "when did this page
  change" and it is the half nobody updates; a stale lastmod on every entry teaches the crawler to
  ignore the field. Absent is honest.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://erp-g.com/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://erp-g.com/ar/e-invoicing</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/e-invoicing"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/e-invoicing"/>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://erp-g.com/en/e-invoicing</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/e-invoicing"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/e-invoicing"/>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://erp-g.com/ar/accounting</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/accounting"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/accounting"/>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://erp-g.com/en/accounting</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/accounting"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/accounting"/>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://erp-g.com/ar/sales-crm</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/sales-crm"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/sales-crm"/>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://erp-g.com/en/sales-crm</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/sales-crm"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/sales-crm"/>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://erp-g.com/ar/inventory</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/inventory"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/inventory"/>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://erp-g.com/en/inventory</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/inventory"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/inventory"/>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://erp-g.com/ar/payroll</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/payroll"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/payroll"/>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://erp-g.com/en/payroll</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/payroll"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/payroll"/>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://erp-g.com/ar/tax</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/tax"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/tax"/>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://erp-g.com/en/tax</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/tax"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/tax"/>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://erp-g.com/ar/security</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/security"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/security"/>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://erp-g.com/en/security</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/security"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/security"/>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://erp-g.com/ar/construction</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/construction"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/construction"/>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://erp-g.com/en/construction</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/construction"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/construction"/>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://erp-g.com/ar/real-estate</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/real-estate"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/real-estate"/>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://erp-g.com/en/real-estate</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/real-estate"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/real-estate"/>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://erp-g.com/ar/trading</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/trading"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/trading"/>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://erp-g.com/en/trading</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/trading"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/trading"/>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://erp-g.com/ar/retail</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/retail"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/retail"/>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://erp-g.com/en/retail</loc>
    <xhtml:link rel="alternate" hreflang="ar" href="https://erp-g.com/ar/retail"/>
    <xhtml:link rel="alternate" hreflang="en" href="https://erp-g.com/en/retail"/>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://erp-g.com/legal/terms</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://erp-g.com/legal/privacy</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://erp-g.com/legal/refund</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://erp-g.com/legal/contact</loc>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
</urlset>
