1import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{t}from"./react-C21x__mS.js";import{a as n}from"./components-BAlicNvQ.js";import{t as r}from"./lib-B9MkLulo.js";import{g as i}from"./context-CkLqDNV8.js";import{n as a}from"./emotion-react.browser.esm-BjMXABMA.js";import{n as o,r as s,s as c,t as l}from"./ArrowRight02Icon-B3QGbFu-.js";import{t as u}from"./HugeiconsIcon-BFC8mU2s.js";import{n as d}from"./Search01Icon-BRy49cIG.js";import{n as f}from"./utils-DDkBVHd9.js";import{t as p}from"./clsx-DB0hHKMi.js";import{a as m,r as h,t as g,u as _}from"./design-system-DRcI9Nqh.js";import{t as v}from"./ArrowLeft01Icon-BJdQ1Oac.js";import{t as y}from"./Tick02Icon-BZZvPScA.js";import{s as b}from"./useCollapsiblePanel-1xU3X5a-.js";import{t as x}from"./CheckmarkCircle02Icon-ew8N-Nqv.js";import{a as S,c as C,i as w,l as T,n as E,o as D,r as O,s as k,t as A}from"./pcweb-DZY_Nzom.js";import{t as j}from"./marketing-carousel-ENrF49sF.js";var M=e(t(),1);function N(){let e=(0,M.useRef)(null);i.ref_template_about_heading=e;let t=(0,M.useRef)(null);i.ref_template_faq_heading=t;let n=(0,M.useRef)(null);return i.ref_footer_newsletter_email=n,a(M.Fragment,{},a(`div`,{className:`marketing-theme light w-full bg-background text-foreground`},a(`div`,{className:`marketing-site relative flex min-h-screen w-full flex-col overflow-x-clip bg-background text-foreground`,"data-marketing-layout":`interior`,"data-marketing-page":``},a(c,{}),a(s,{}),a(`main`,{className:`marketing-content w-full min-w-0 flex-1 template-detail-editorial homepage-redesign`},a(M.Fragment,{},a(`script`,{type:`application/ld+json`},`{"@context": "https://schema.org", "@graph": [{"@type": "WebPage", "name": "Purchase Order System", "description": "Build a purchase order system with an editable purchase order template, live totals, budget validation, and approval-ready workflows.", "url": "https://reflex.dev/templates/purchase-order-system/"}, {"@type": "FAQPage", "mainEntity": [{"@type": "Question", "name": "What is a purchase order system?", "acceptedAnswer": {"@type": "Answer", "text": "A purchase order system turns an approved request into a formal order to a supplier, with line items, totals, budget checks, and an auditable approval trail."}}, {"@type": "Question", "name": "How do I create and approve purchase orders in one app?", "acceptedAnswer": {"@type": "Answer", "text": "The purchase order template runs an approved requisition-to-PO workflow with supplier and delivery fields, editable products and services, quantities, unit prices, tax, notes, calculated totals, budget allocation, validation, confirmation, and a searchable order register."}}, {"@type": "Question", "name": "Can it calculate totals and check budgets?", "acceptedAnswer": {"@type": "Answer", "text": "Yes. This purchase order software does live line-item arithmetic and budget allocation, with inline validation for missing, invalid, and over-budget values. Financial-field locking is reversible, so a mistake does not require rebuilding the order."}}, {"@type": "Question", "name": "Can I customize approval stages and purchase order fields?", "acceptedAnswer": {"@type": "Answer", "text": "Yes. Teams can change vendor fields, line-item rules, tax calculations, budget thresholds, status names, approval steps, and finalization behavior to match their procurement process."}}, {"@type": "Question", "name": "Can it connect to suppliers, email, or a database?", "acceptedAnswer": {"@type": "Answer", "text": "Yes, and procurement teams usually add them one at a time. The starter works from local data with no integration; teams connect a database through SQLModel, transactional email for sending the PO, and supplier or accounting APIs when procurement is automated."}}]}]}`),a(`div`,{className:`mx-auto w-full max-w-[90rem] px-[var(--editorial-page-gutter)] pt-8 pb-16 sm:pt-12 sm:pb-20`},a(`header`,{className:`pb-10 sm:pb-12`},a(r,{className:`inline-flex min-h-11 w-fit items-center gap-2 rounded text-sm text-muted-foreground transition-colors hover:text-black focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-ring`,to:`/templates/`}
1,a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`size-[16px]`)),icon:v,size:16,strokeWidth:1.5}),`All templates`),a(`h1`,{className:`marketing-page-title mt-6 max-w-[64rem] break-words text-hero font-normal leading-[1.08] tracking-[-0.045em] text-foreground`},`Purchase Order System`),a(`p`,{className:`mt-5 max-w-[54rem] text-base leading-7 text-muted-foreground sm:text-lg sm:leading-8`},`Build a purchase order system with an editable purchase order template, live totals, budget validation, and approval-ready workflows.`),a(`div`,{className:`mt-6 flex flex-wrap gap-2`},a(`span`,{className:`rounded-full bg-accent px-3 py-1 text-xs leading-5 text-muted-foreground`},`Operations`)),a(g,{"aria-label":`Use Purchase Order System in Reflex Builder (opens in a new tab)`,className:`mt-7 w-fit lg:hidden`,href:`https://build.reflex.dev/builder/?prompt=Build+a+responsive+purchase+order+system+for+a+procurement+team.+Include+a+searchable+purchase+order+list%2C+status+filters%2C+supplier+details%2C+line+items%2C+quantities%2C+unit+prices%2C+tax%2C+delivery+date%2C+notes%2C+and+an+activity+history.+Users+should+be+able+to+create+a+purchase+order%2C+edit+its+line+items%2C+validate+required+fields%2C+review+the+total%2C+and+move+it+through+Draft%2C+Approved%2C+and+Ready+to+send+statuses.%0A%0AUse+realistic+sample+suppliers%2C+products%2C+budgets%2C+dates%2C+and+purchase+orders.+Recalculate+subtotal%2C+tax%2C+total%2C+and+remaining+budget+whenever+a+line+item+changes.+Show+clear+warnings+for+missing+values%2C+invalid+quantities%2C+and+budget+overruns.+Keep+the+primary+workflow+focused+on+selecting+an+order%2C+completing+its+details%2C+validating+it%2C+and+confirming+the+next+status.%0A%0AMake+every+prominent+control+work+with+local+Reflex+state%2C+including+search%2C+filters%2C+add%2C+edit%2C+remove%2C+save%2C+cancel%2C+and+confirmation+actions.+Provide+clear+empty%2C+validation%2C+success%2C+and+error+states.+Use+a+professional+document-style+layout+that+works+on+desktop+and+mobile.+Do+not+require+authentication%2C+payments%2C+email%2C+supplier+APIs%2C+a+database%2C+or+other+integrations.+Do+not+display+template%2C+demo%2C+fake%2C+or+simulated+labels+in+the+app.`,rel:`noopener noreferrer`,size:`md`,target:`_blank`,variant:`primary`},`Use template`,a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`size-[16px]`)),icon:o,size:16,strokeWidth:1.5}))),a(`div`,{className:`grid items-start gap-12 lg:grid-cols-[minmax(0,1fr)_19rem] xl:gr
1id-cols-[minmax(0,1fr)_21rem] xl:gap-16`},a(`div`,{className:`min-w-0`},a(`figure`,{className:`m-0 overflow-hidden rounded-panel border border-solid border-border-subtle bg-accent`},a(`figcaption`,{className:`px-4 py-3 text-xs leading-5 text-muted-foreground sm:px-5`},`Template preview`),a(`div`,{className:`w-full px-3 pb-3 sm:px-5 sm:pb-5`},a(`img`,{alt:`Purchase Order System template interface showing approved requisition-to-PO workflow, editable vendor, delivery, tax`,className:`block h-auto w-full rounded border border-border-subtle`,loading:`eager`,src:`https://pub-c14a5dcf674640a6b73fded32bad72ca.r2.dev/07eefc2f-755c-45a9-9115-d5539f453b32`}))),a(`aside`,{"aria-label":`Template details`,className:`mt-8 grid min-w-0 grid-cols-1 gap-8 border-t border-border py-8 sm:grid-cols-2 lg:hidden`},a(M.Fragment,{},a(`div`,{className:`flex min-w-0 flex-col gap-4`},a(`h2`,{className:`border-b border-border pb-3 text-sm font-book leading-6 text-foreground`},`Tech stack`),a(`ul`,{className:`m-0 flex list-none flex-wrap gap-x-4 gap-y-2 p-0`},a(`li`,{className:`text-sm font-normal leading-6 text-muted-foreground`},`reflex`),a(`li`,{className:`text-sm font-normal leading-6 text-muted-foreground`},`python`))),a(`div`,{className:`flex min-w-0 flex-col gap-4`},a(`h2`,{className:`border-b border-border pb-3 text-sm font-book leading-6 text-foreground`},`Key features`),a(`ul`,{className:`m-0 flex list-none flex-col gap-3 p-0`},a(`li`,{className:`flex min-w-0 items-start gap-3`},a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`mt-1 shrink-0 text-subtle-foreground`)),icon:y,size:14,strokeWidth:1.5}),a(`span`,{className:`min-w-0 break-words text-sm font-normal leading-6 text-muted-foreground`},`Approved requisition-to-PO workflow`)),a(`li`,{className:`flex min-w-0 items-start gap-3`},a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`mt-1 shrink-0 text-subtle-foreground`)),icon:y,size:14,strokeWidth:1.5}),a(`span`,{className:`min-w-0 break-words text-sm font-normal leading-6 text-muted-foreground`},`Editable vendor, delivery, tax, and notes`)),a(`li`,{className:`flex min-w-0 items-start gap-3`},a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`mt-1 shrink-0 text-subtle-foreground`)),icon:y,size:14,strokeWidth:1.5}),a(`span`,{className:`min-w-0 break-words text-sm font-normal leading-6 text-muted-foreground`},`Live line-item arithmetic and budget allocation`)),a(`li`,{className:`flex min-w-0 items-start gap-3`},a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`mt-1 shrink-0 text-subtle-foreground`)),icon:y,size:14,strokeWidth:1.5}),a(`span`,{className:`min-w-0 break-words text-sm font-normal leading-6 text-muted-foreground`},`Inline validation for missing, invalid, and over-budget values`)),a(`li`,{className:`flex min-w-0 items-start gap-3`},a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`mt-1 shrink-0 text-subtle-foreground`)),icon:y,size:14,strokeWidth:1.5}),a(`span`,{className:`min-w-0 break-words text-sm font-normal leading-6 text-muted-foreground`},`Reversible financial-field locking`)),a(`li`,{className:`flex min-w-0 items-start gap-3`},a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`mt-1 shrink-0 text-subtle-foreground`)),icon:y,size:14,strokeWidth:1.5}),a(`span`,{className:`min-w-0 break-words text-sm font-normal leading-6 text-muted-foreground`},`Synchronized PO register, counts, and activity`)))),a(`div`,{className:`flex min-w-0 flex-col gap-4`},a(`h2`,{className:`border-b border-border pb-3 text-sm font-book leading-6 text-foreground`},`Requirements`),a(`ul`,{className:`m-0 flex list-none flex-col gap-3 p-0`},a(`li`,{className:`flex min-w-0 items-start gap-3`},a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`mt-1 shrink-0 text-subtle-foreground`)),icon:d,size:14,strokeWidth:1.5}),a(`span`,{className:`min-w-0 break-words text-sm font-normal leading-6 text-muted-foreground`},`Purchase orders created from approved requisitions`)),a(`li`,{className:`flex min-w-0 items-start gap-3`},a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`mt-1 shrink-0 text-subtle-foreground`)),icon:d,size:14,strokeWidth:1.5}),a(`span`,{className:`min-w-0 break-words text-sm font-normal leading-6 text-muted-foreground`},`Editable supplier, delivery, and line-item details`)),a(`li`,{className:`flex min-w-0 items-start gap-3`}
1,a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`mt-1 shrink-0 text-subtle-foreground`)),icon:d,size:14,strokeWidth:1.5}),a(`span`,{className:`min-w-0 break-words text-sm font-normal leading-6 text-muted-foreground`},`Budget-aware validation before finalization`)),a(`li`,{className:`flex min-w-0 items-start gap-3`},a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`mt-1 shrink-0 text-subtle-foreground`)),icon:d,size:14,strokeWidth:1.5}),a(`span`,{className:`min-w-0 break-words text-sm font-normal leading-6 text-muted-foreground`},`Searchable status register and change history`)))))),a(`section`,{"aria-labelledby":`template-about-heading`,className:`flex w-full min-w-0 flex-col gap-5 py-10 sm:py-12`},a(`h2`,{className:`text-2xl font-normal leading-[1.15] tracking-[-0.035em] text-foreground sm:text-3xl`,id:`template-about-heading`,ref:e},`About This Template`),a(`p`,{className:`max-w-[54rem] whitespace-pre-line text-base font-normal leading-8 text-muted-foreground`},`This purchase order system and purchase order software example gives procurement coordinators a focused workspace for turning an approved requisition into a complete order. Start with one of six seeded requisitions, review its vendor and requested items, then edit the delivery date, quantities, unit prices, tax, and notes on the linked purchase order. Line changes recalculate the subtotal, tax, total, remaining budget, and allocation bar immediately. Validation identifies missing values, invalid quantities, and budget overruns before finalization; once confirmed, the order moves to Ready to send, its financial fields lock, and the register, status counts, and activity history update together. The template includes add, edit, and remove line-item actions plus register search and status filtering, all using realistic local data. Teams can adapt the fields, validation rules, budget model, and status vocabulary, then connect supplier delivery, approval, export, or persistence services when those workflows are required. As both a purchase order template and adaptable purchase order software starter, it gives teams a usable document workflow without requiring a supplier or finance connection on first launch.`)),a(`section`,{"aria-labelledby":`template-faq-heading`,className:`flex w-full min-w-0 flex-col gap-6 py-10 sm:py-12`},a(`h2`,{className:`text-2xl font-normal leading-[1.15] tracking-[-0.035em] text-foreground sm:text-3xl`,id:`template-faq-heading`,ref:t},`Frequently Asked Questions`),a(T,{className:`flex w-full flex-col divide-y divide-border border-y border-border`,"data-slot":`accordion`,multiple:!0},a(C,{className:`w-full`,"data-slot":`accordion-item`},a(k,{className:`w-full`,"data-slot":`accordion-header`},a(D,{className:`group relative flex min-h-14 w-full cursor-pointer items-center justify-between gap-5 bg-transparent py-5 text-base font-book leading-7 text-foreground transition-colors hover:text-black data-[panel-open]:text-black focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-ring disabled:cursor-not-allowed disabled:text-subtle-foreground motion-reduce:transition-none`,"data-slot":`accordion-trigger`},a(`span`,{className:`min-w-0 text-left`},`What is a purchase order system?`),a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`size-4.5 shrink-0 text-subtle-foreground transition-transform duration-200 ease-out group-data-[panel-open]:rotate-45 motion-reduce:transition-none`)),"data-slot":`accordion-trigger-icon`,icon:b,size:16,strokeWidth:1.5}))),a(S,{className:`h-[var(--accordion-panel-height)] overflow-hidden text-base font-normal leading-7 text-muted-foreground transition-[height] duration-200 ease-out data-[ending-style]:h-0 data-[starting-style]:h-0 motion-reduce:transition-none`,"data-slot":`accordion-panel`,hiddenUntilFound:!0},a(`div`,{className:`max-w-[54rem] whitespace-pre-line pb-5`},`A purchase order system turns an approved request into a formal order to a supplier, with line items, totals, budget checks, and an auditable approval trail.`))),a(C,{className:`w-full`,"data-slot":`accordion-item`},a(k,{className:`w-full`,"data-slot":`accordion-header`},a(D,{className:`group relative flex min-h-14 w-full cursor-pointer items-center justify-between gap-5 bg-transparent py-5 text-base font-book leading-7 text-foreground transition-colors hover:text-black data-[panel-open]:text-black focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-ring disabled:cursor-not-allowed disabled:text-subtle-foreground motion-reduce:transition-none`,"data-slot":`accordion-trigger`},a(`span`,{className:`min-w-0 text-left`},`How do I create and approve purchase orders in one app?`),a(u,{"aria-hidden":!0,
1className:f(p(`[&_path]:stroke-[2]`,`size-4.5 shrink-0 text-subtle-foreground transition-transform duration-200 ease-out group-data-[panel-open]:rotate-45 motion-reduce:transition-none`)),"data-slot":`accordion-trigger-icon`,icon:b,size:16,strokeWidth:1.5}))),a(S,{className:`h-[var(--accordion-panel-height)] overflow-hidden text-base font-normal leading-7 text-muted-foreground transition-[height] duration-200 ease-out data-[ending-style]:h-0 data-[starting-style]:h-0 motion-reduce:transition-none`,"data-slot":`accordion-panel`,hiddenUntilFound:!0},a(`div`,{className:`max-w-[54rem] whitespace-pre-line pb-5`},`The purchase order template runs an approved requisition-to-PO workflow with supplier and delivery fields, editable products and services, quantities, unit prices, tax, notes, calculated totals, budget allocation, validation, confirmation, and a searchable order register.`))),a(C,{className:`w-full`,"data-slot":`accordion-item`},a(k,{className:`w-full`,"data-slot":`accordion-header`},a(D,{className:`group relative flex min-h-14 w-full cursor-pointer items-center justify-between gap-5 bg-transparent py-5 text-base font-book leading-7 text-foreground transition-colors hover:text-black data-[panel-open]:text-black focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-ring disabled:cursor-not-allowed disabled:text-subtle-foreground motion-reduce:transition-none`,"data-slot":`accordion-trigger`},a(`span`,{className:`min-w-0 text-left`},`Can it calculate totals and check budgets?`),a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`size-4.5 shrink-0 text-subtle-foreground transition-transform duration-200 ease-out group-data-[panel-open]:rotate-45 motion-reduce:transition-none`)),"data-slot":`accordion-trigger-icon`,icon:b,size:16,strokeWidth:1.5}))),a(S,{className:`h-[var(--accordion-panel-height)] overflow-hidden text-base font-normal leading-7 text-muted-foreground transition-[height] duration-200 ease-out data-[ending-style]:h-0 data-[starting-style]:h-0 motion-reduce:transition-none`,"data-slot":`accordion-panel`,hiddenUntilFound:!0},a(`div`,{className:`max-w-[54rem] whitespace-pre-line pb-5`},`Yes. This purchase order software does live line-item arithmetic and budget allocation, with inline validation for missing, invalid, and over-budget values. Financial-field locking is reversible, so a mistake does not require rebuilding the order.`))),a(C,{className:`w-full`,"data-slot":`accordion-item`},a(k,{className:`w-full`,"data-slot":`accordion-header`},a(D,{className:`group relative flex min-h-14 w-full cursor-pointer items-center justify-between gap-5 bg-transparent py-5 text-base font-book leading-7 text-foreground transition-colors hover:text-black data-[panel-open]:text-black focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-ring disabled:cursor-not-allowed disabled:text-subtle-foreground motion-reduce:transition-none`,"data-slot":`accordion-trigger`},a(`span`,{className:`min-w-0 text-left`},`Can I customize approval stages and purchase order fields?`),a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`size-4.5 shrink-0 text-subtle-foreground transition-transform duration-200 ease-out group-data-[panel-open]:rotate-45 motion-reduce:transition-none`)),"data-slot":`accordion-trigger-icon`,icon:b,size:16,strokeWidth:1.5}))),a(S,{className:`h-[var(--accordion-panel-height)] overflow-hidden text-base font-normal leading-7 text-muted-foreground transition-[height] duration-200 ease-out data-[ending-style]:h-0 data-[starting-style]:h-0 motion-reduce:transition-none`,"data-slot":`accordion-panel`,hiddenUntilFound:!0},a(`div`,{className:`max-w-[54rem] whitespace-pre-line pb-5`},`Yes. Teams can change vendor fields, line-item rules, tax calculations, budget thresholds, status names, approval steps, and finalization behavior to match their procurement process.`))),a(C,{className:`w-full`,"data-slot":`accordion-item`},a(k,{className:`w-full`,"data-slot":`accordion-header`},a(D,{className:`group relative flex min-h-14 w-full cursor-pointer items-center justify-between gap-5 bg-transparent py-5 text-base font-book leading-7 text-foreground transition-colors hover:text-black data-[panel-open]:text-black focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-ring disabled:cursor-not-allowed disabled:text-subtle-foreground motion-reduce:transition-none`,"data-slot":`accordion-trigger`},a(`span`,{className:`min-w-0 text-left`},`Can it connect to suppliers, email, or a database?`),a(u,{"aria-hidden":!0,
1className:f(p(`[&_path]:stroke-[2]`,`size-4.5 shrink-0 text-subtle-foreground transition-transform duration-200 ease-out group-data-[panel-open]:rotate-45 motion-reduce:transition-none`)),"data-slot":`accordion-trigger-icon`,icon:b,size:16,strokeWidth:1.5}))),a(S,{className:`h-[var(--accordion-panel-height)] overflow-hidden text-base font-normal leading-7 text-muted-foreground transition-[height] duration-200 ease-out data-[ending-style]:h-0 data-[starting-style]:h-0 motion-reduce:transition-none`,"data-slot":`accordion-panel`,hiddenUntilFound:!0},a(`div`,{className:`max-w-[54rem] whitespace-pre-line pb-5`},`Yes, and procurement teams usually add them one at a time. The starter works from local data with no integration; teams connect a database through SQLModel, transactional email for sending the PO, and supplier or accounting APIs when procurement is automated.`))))),a(j,{contained:!0,nextLabel:`More templates`,previousLabel:`Previous templates`,title:`Related Templates`,viewAllHref:`/templates/`},a(`div`,{className:`flex w-[85%] min-w-0 shrink-0 snap-start sm:w-[calc((100%-1.5rem)/2)] [&>article]:w-full`,"data-blossom-slide":``},a(`article`,{className:f(p(`flex h-full min-w-0 flex-col`,``)),"data-template-id":`fc052a6c-8727-48b8-8155-f38be41668e0`,"data-template-match":`true`,key:`fc052a6c-8727-48b8-8155-f38be41668e0`},a(h,{"aria-label":`View Vendor Management Portal template`,className:`group flex min-h-11 w-full flex-1 flex-col border border-solid border-border-subtle focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-ring`,href:`/templates/vendor-management-portal/`},a(`div`,{className:`relative aspect-[16/10] w-full overflow-hidden rounded-t-card border-b border-border bg-accent`},a(`img`,{alt:`Vendor Management Portal template interface showing grouped vendor review queue with search and category filters`,className:`absolute inset-0 size-full object-cover object-top`,loading:`lazy`,src:`https://pub-c14a5dcf674640a6b73fded32bad72ca.r2.dev/fc052a6c-8727-48b8-8155-f38be41668e0`})),a(`div`,{className:`px-5 pt-5 pb-4`},a(`div`,{className:`flex items-start justify-between gap-4`},a(`h3`,{className:`min-w-0 break-words text-lg font-book leading-7 tracking-[-0.025em] text-foreground sm:text-xl`},`Vendor Management Portal`)),a(`p`,{className:`mt-2 line-clamp-3 text-sm font-normal leading-6 text-muted-foreground`},`Build a vendor management portal with supplier records, contracts, performance reviews, renewals, issues, and follow-up workflows.`)),a(`div`,{className:`mt-auto flex min-w-0 flex-wrap gap-1.5 px-5 pt-1 pb-5`},a(`span`,{className:`max-w-full break-words rounded-full bg-accent-hover px-2.5 py-1 text-xs font-normal leading-5 text-muted-foreground`},`Operations`))))),a(`div`,{className:`flex w-[85%] min-w-0 shrink-0 snap-start sm:w-[calc((100%-1.5rem)/2)] [&>article]:w-full`,"data-blossom-slide":``},a(`article`,{className:f(p(`flex h-full min-w-0 flex-col`,``)),"data-template-id":`6a312472-a21b-4215-9348-94a46d4dff3b`,"data-template-match":`true`,key:`6a312472-a21b-4215-9348-94a46d4dff3b`},a(h,{"aria-label":`View Inventory Management System template`,className:`group flex min-h-11 w-full flex-1 flex-col border border-solid border-border-subtle focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-ring`,href:`/templates/inventory-management-system/`},a(`div`,{className:`relative aspect-[16/10] w-full overflow-hidden rounded-t-card border-b border-border bg-accent`},a(`img`,{alt:`Inventory Management System template interface showing product-by-location stock-health matrix`,className:`absolute inset-0 size-full object-cover object-top`,loading:`lazy`,src:`https://pub-c14a5dcf674640a6b73fded32bad72ca.r2.dev/6a312472-a21b-4215-9348-94a46d4dff3b`})),a(`div`,{className:`px-5 pt-5 pb-4`},a(`div`,{className:`flex items-start justify-between gap-4`},a(`h3`,{className:`min-w-0 break-words text-lg font-book leading-7 tracking-[-0.025em] text-foreground sm:text-xl`},`Inventory Management System`)),a(`p`,{className:`mt-2 line-clamp-3 text-sm font-normal leading-6 text-muted-foreground`},`Build an inventory management system with multi-location stock, low-stock alerts, movement history, and replenishment planning.`)),a(`div`,{className:`mt-auto flex min-w-0 flex-wrap gap-1.5 px-5 pt-1 pb-5`},a(`span`,{className:`max-w-full break-words rounded-full bg-accent-hover px-2.5 py-1 text-xs font-normal leading-5 text-muted-foreground`},`Operations`))))),a(`div`,{className:`flex w-[85%] min-w-0 shrink-0 snap-start sm:w-[calc((100%-1.5rem)/2)] [&>article]:w-full`,"data-blossom-slide":``},a(`article`,{className:f(p(`flex h-full min-w-0 flex-col`,``)),"data-template-id":`54d835e2-ea3b-4b9a-9d3a-3d7be64d41fc`,"data-template-match":`true`,key:`54d835e2-ea3b-4b9a-9d3a-3d7be64d41fc`},a(h,{"aria-label":`View Order Management System template`,className:`group flex min-h-11 w-full flex-1 flex-col border border-solid border-border-subtle focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-ring`,href:`/templates/order-management-system/`},a(`div`,{className:`relative aspect-[16/10] w-full overflow-hidden rounded-t-card border-b border-border bg-accent`},a(`img`,{alt:`Order Management System template interface showing searchable, status-filtered priority order queue`,className:`absolute inset-0 size-full object-cover object-top`,loading:`lazy`,src:`https://pub-c14a5dcf674640a6b73fded32bad72ca.r2.dev/54d835e2-ea3b-4b9a-9d3a-3d7be64d41fc`})),a(`div`,{className:`px-5 pt-5 pb-4`},a(`div`,{className:`flex items-start justify-between gap-4`},a(`h3`,{className:`min-w-0 break-words text-lg font-book leading-7 tracking-[-0.025em] text-foreground sm:text-xl`},`Order Management System`)),a(`p`,{className:`mt-2 line-clamp-3 text-sm font-normal leading-6 text-muted-foreground`},`Build an order management system with fulfillment queues, inventory-aware packing, shipment controls, and an order tracking dashboard.`)),a(`div`,{className:`mt-auto flex min-w-0 flex-wrap gap-1.5 px-5 pt-1 pb-5`},a(`span`,{className:`max-w-full break-words rounded-full bg-accent-hover px-2.5 py-1 text-xs font-normal leading-5 text-muted-foreground`},`Operations`))))))),a(`aside`,{"aria-label":`Template details`,className:`hidden w-[19rem] shrink-0 self-start lg:block xl:w-[21rem]`},a(`div`,{className:`flex min-w-0 flex-col gap-8`},a(M.Fragment,{},a(`div`,{className:`flex flex-col`},a(g,{"aria-label":`Use Purchase Order System in Reflex Builder (opens in a new tab)`,className:`w-full`,href:`https://build.reflex.dev/builder/?prompt=Build+a+responsive+purchase+order+system+for+a+procurement+team.+Include+a+searchable+purchase+order+list%2C+status+filters%2C+supplier+details%2C+line+items%2C+quantities%2C+unit+prices%2C+tax%2C+delivery+date%2C+notes%2C+and+an+activity+history.+Users+should+be+able+to+create+a+purchase+order%2C+edit+its+line+items%2C+validate+required+fields%2C+review+the+total%2C+and+move+it+through+Draft%2C+Approved%2C+and+Ready+to+send+statuses.%0A%0AUse+realistic+sample+suppliers%2C+products%2C+budgets%2C+dates%2
1C+and+purchase+orders.+Recalculate+subtotal%2C+tax%2C+total%2C+and+remaining+budget+whenever+a+line+item+changes.+Show+clear+warnings+for+missing+values%2C+invalid+quantities%2C+and+budget+overruns.+Keep+the+primary+workflow+focused+on+selecting+an+order%2C+completing+its+details%2C+validating+it%2C+and+confirming+the+next+status.%0A%0AMake+every+prominent+control+work+with+local+Reflex+state%2C+including+search%2C+filters%2C+add%2C+edit%2C+remove%2C+save%2C+cancel%2C+and+confirmation+actions.+Provide+clear+empty%2C+validation%2C+success%2C+and+error+states.+Use+a+professional+document-style+layout+that+works+on+desktop+and+mobile.+Do+not+require+authentication%2C+payments%2C+email%2C+supplier+APIs%2C+a+database%2C+or+other+integrations.+Do+not+display+template%2C+demo%2C+fake%2C+or+simulated+labels+in+the+app.`,rel:`noopener noreferrer`,size:`md`,target:`_blank`,variant:`primary`},`Use template`,a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`size-[16px]`)),icon:o,size:16,strokeWidth:1.5}))),a(`div`,{className:`flex min-w-0 flex-col gap-4`},a(`h2`,{className:`border-b border-border pb-3 text-sm font-book leading-6 text-foreground`},`Tech stack`),a(`ul`,{className:`m-0 flex list-none flex-wrap gap-x-4 gap-y-2 p-0`},a(`li`,{className:`text-sm font-normal leading-6 text-muted-foreground`},`reflex`),a(`li`,{className:`text-sm font-normal leading-6 text-muted-foreground`},`python`))),a(`div`,{className:`flex min-w-0 flex-col gap-4`},a(`h2`,{className:`border-b border-border pb-3 text-sm font-book leading-6 text-foreground`},`Key features`),a(`ul`,{className:`m-0 flex list-none flex-col gap-3 p-0`},a(`li`,{className:`flex min-w-0 items-start gap-3`},a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`mt-1 shrink-0 text-subtle-foreground`)),icon:y,size:14,strokeWidth:1.5}),a(`span`,{className:`min-w-0 break-words text-sm font-normal leading-6 text-muted-foreground`},`Approved requisition-to-PO workflow`)),a(`li`,{className:`flex min-w-0 items-start gap-3`},a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`mt-1 shrink-0 text-subtle-foreground`)),icon:y,size:14,strokeWidth:1.5}),a(`span`,{className:`min-w-0 break-words text-sm font-normal leading-6 text-muted-foreground`},`Editable vendor, delivery, tax, and notes`)),a(`li`,{className:`flex min-w-0 items-start gap-3`},a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`mt-1 shrink-0 text-subtle-foreground`)),icon:y,size:14,strokeWidth:1.5}),a(`span`,{className:`min-w-0 break-words text-sm font-normal leading-6 text-muted-foreground`},`Live line-item arithmetic and budget allocation`)),a(`li`,{className:`flex min-w-0 items-start gap-3`},a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`mt-1 shrink-0 text-subtle-foreground`)),icon:y,size:14,strokeWidth:1.5}),a(`span`,{className:`min-w-0 break-words text-sm font-normal leading-6 text-muted-foreground`},`Inline validation for missing, invalid, and over-budget values`)),a(`li`,{className:`flex min-w-0 items-start gap-3`},a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`mt-1 shrink-0 text-subtle-foreground`)),icon:y,size:14,strokeWidth:1.5}),a(`span`,{className:`min-w-0 break-words text-sm font-normal leading-6 text-muted-foreground`},`Reversible financial-field locking`)),a(`li`,{className:`flex min-w-0 items-start gap-3`},a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`mt-1 shrink-0 text-subtle-foreground`)),icon:y,size:14,strokeWidth:1.5}),a(`span`,{className:`min-w-0 break-words text-sm font-normal leading-6 text-muted-foreground`},`Synchronized PO register, counts, and activity`)))),a(`div`,{className:`flex min-w-0 flex-col gap-4`},a(`h2`,{className:`border-b border-border pb-3 text-sm font-book leading-6 text-foreground`},`Requirements`),a(`ul`,{className:`m-0 flex list-none flex-col gap-3 p-0`},a(`li`,{className:`flex min-w-0 items-start gap-3`},a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`mt-1 shrink-0 text-subtle-foreground`)),icon:d,size:14,strokeWidth:1.5}),a(`span`,{className:`min-w-0 break-words text-sm font-normal leading-6 text-muted-foreground`},`Purchase orders created from approved requisitions`)),a(`li`,{className:`flex min-w-0 items-start gap-3`}
1,a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`mt-1 shrink-0 text-subtle-foreground`)),icon:d,size:14,strokeWidth:1.5}),a(`span`,{className:`min-w-0 break-words text-sm font-normal leading-6 text-muted-foreground`},`Editable supplier, delivery, and line-item details`)),a(`li`,{className:`flex min-w-0 items-start gap-3`},a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`mt-1 shrink-0 text-subtle-foreground`)),icon:d,size:14,strokeWidth:1.5}),a(`span`,{className:`min-w-0 break-words text-sm font-normal leading-6 text-muted-foreground`},`Budget-aware validation before finalization`)),a(`li`,{className:`flex min-w-0 items-start gap-3`},a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`mt-1 shrink-0 text-subtle-foreground`)),icon:d,size:14,strokeWidth:1.5}),a(`span`,{className:`min-w-0 break-words text-sm font-normal leading-6 text-muted-foreground`},`Searchable status register and change history`))))))))))),a(M.Fragment,{}),a(`footer`,{className:`relative w-full overflow-x-clip bg-background text-foreground`},a(`div`,{className:`mx-auto w-full max-w-[90rem] px-4 min-[55rem]:px-8 lg:px-12`},a(`div`,{className:`grid w-full grid-cols-2 gap-x-6 gap-y-10 pt-16 sm:gap-x-10 sm:gap-y-14 sm:pt-24 md:grid-cols-3 lg:grid-cols-5 lg:gap-x-12 lg:pt-28`},a(`nav`,{"aria-label":`Platform footer links`,className:`flex min-w-0 flex-col gap-10`},a(`div`,{className:`break-inside-avoid`},a(`h2`,{className:`text-xs font-book leading-5 text-muted-foreground`},`Platform`),a(`div`,{className:`mt-2 flex flex-col gap-2`},a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/platform/`},`Overview`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/ai-builder/`},`AI Builder`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/integrations/`},`Integrations`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/enterprise/`},`Enterprise`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/hosting/`},`App Management`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/pricing/`},`Pricing`))),a(`div`,{className:`break-inside-avoid`},a(`h2`,{className:`text-xs font-book leading-5 text-muted-foreground`},`Open source`),a(`div`,{className:`mt-2 flex flex-col gap-2`},a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/open-source/`},`Framework`),a(`a`,{"aria-label":`XY (opens in a new tab)`,className:`inline-flex items-center gap-1.5 w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,href:`https://github.com/reflex-dev/xy`,rel:`noopener noreferrer`,target:`_blank`},`XY`,a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`size-3 shrink-0`)),icon:o,size:16,strokeWidth:1.5})),a(`a`,{"aria-label":`GitHub (opens in a new tab)`,className:`inline-flex items-center gap-1.5 w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,href:`https://github.com/reflex-dev`,rel:`noopener noreferrer`,target:`_blank`}
1,`GitHub`,a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`size-3 shrink-0`)),icon:o,size:16,strokeWidth:1.5}))))),a(`nav`,{"aria-label":`Solutions footer links`,className:`flex min-w-0 flex-col gap-10`},a(`div`,{className:`break-inside-avoid`},a(`h2`,{className:`text-xs font-book leading-5 text-muted-foreground`},`Solutions`),a(`div`,{className:`mt-2 flex flex-col gap-2`},a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/use-cases/`},`Overview`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/use-cases/internal-tools/`},`Internal tools`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/use-cases/analytics/`},`Analytics`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/use-cases/knowledge-apps/`},`Knowledge applications`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/use-cases/finance/`},`Financial services`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/use-cases/healthcare/`},`Healthcare`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/use-cases/consulting/`},`Consulting`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/use-cases/government/`},`Government`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/use-cases/manufacturing/`},`Manufacturing`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/use-cases/food-and-beverage/`},`Food & beverage`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/use-cases/technology/`},`Technology`))),a(`div`,{className:`break-inside-avoid`},a(`h2`,{className:`text-xs font-book leading-5 text-muted-foreground`},`Community`),a(`div`,{className:`mt-2 flex flex-col gap-2`},a(`a`,{"aria-label":`Discord (opens in a new tab)`,className:`inline-flex items-center gap-1.5 w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,href:`https://discord.gg/T5WSbC2YtQ`,rel:`noopener noreferrer`,target:`_blank`}
1,`Discord`,a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`size-3 shrink-0`)),icon:o,size:16,strokeWidth:1.5}))))),a(`nav`,{"aria-label":`Developers footer links`,className:`flex min-w-0 flex-col gap-10`},a(`div`,{className:`break-inside-avoid`},a(`h2`,{className:`text-xs font-book leading-5 text-muted-foreground`},`Developers`),a(`div`,{className:`mt-2 flex flex-col gap-2`},a(`a`,{"aria-label":`Documentation (opens in a new tab)`,className:`inline-flex items-center gap-1.5 w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,href:`https://reflex.dev/docs/`,rel:`noopener noreferrer`,target:`_blank`},`Documentation`,a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`size-3 shrink-0`)),icon:o,size:16,strokeWidth:1.5})),a(`a`,{"aria-label":`Agent Toolkit (opens in a new tab)`,className:`inline-flex items-center gap-1.5 w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,href:`https://reflex.dev/docs/ai/integrations/agent-toolkit/`,rel:`noopener noreferrer`,target:`_blank`},`Agent Toolkit`,a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`size-3 shrink-0`)),icon:o,size:16,strokeWidth:1.5})),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/templates/`},`Templates`),a(`a`,{"aria-label":`Changelog (opens in a new tab)`,className:`inline-flex items-center gap-1.5 w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,href:`https://reflex.dev/docs/changelog/`,rel:`noopener noreferrer`,target:`_blank`},`Changelog`,a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`size-3 shrink-0`)),icon:o,size:16,strokeWidth:1.5})))),a(`div`,{className:`break-inside-avoid`},a(`h2`,{className:`text-xs font-book leading-5 text-muted-foreground`},`Comparison`),a(`div`,{className:`mt-2 flex flex-col gap-2`},a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/compare/no-code/`},`From no/low-code`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/compare/frameworks/`},`Frameworks`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/compare/other-ai-tools/`},`From other AI tools`)))),a(`nav`,{"aria-label":`Company footer links`,className:`flex min-w-0 flex-col gap-10`},a(`div`,{className:`break-inside-avoid`},a(`h2`,{className:`text-xs font-book leading-5 text-muted-foreground`},`Company`),a(`div`,{className:`mt-2 flex flex-col gap-2`},a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/about/`},`About`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/press/`},`Press`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/customers/`},`Customer stories`),a(`a`,{"aria-label":`Careers (opens in a new tab)`,className:`inline-flex items-center gap-1.5 w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,href:`https://www.ycombinator.com/companies/reflex/jobs`,rel:`noopener noreferrer`,target:`_blank`}
1,`Careers`,a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`size-3 shrink-0`)),icon:o,size:16,strokeWidth:1.5})))),a(`div`,{className:`break-inside-avoid`},a(`h2`,{className:`text-xs font-book leading-5 text-muted-foreground`},`Trust`),a(`div`,{className:`mt-2 flex flex-col gap-2`},a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/security/`},`Security`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/security/#security-review`},`Security review`),a(`a`,{"aria-label":`System status (opens in a new tab)`,className:`inline-flex items-center gap-1.5 w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,href:`https://status.reflex.dev`,rel:`noopener noreferrer`,target:`_blank`},`System status`,a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`size-3 shrink-0`)),icon:o,size:16,strokeWidth:1.5}))))),a(`div`,{className:`flex min-w-0 flex-col gap-10`},a(`nav`,{"aria-label":`Resources footer links`,className:`flex min-w-0 flex-col gap-10`},a(`div`,{className:`break-inside-avoid`},a(`h2`,{className:`text-xs font-book leading-5 text-muted-foreground`},`Resources`),a(`div`,{className:`mt-2 flex flex-col gap-2`},a(`a`,{"aria-label":`Blog (opens in a new tab)`,className:`inline-flex items-center gap-1.5 w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,href:`https://reflex.dev/blog/`,rel:`noopener noreferrer`,target:`_blank`},`Blog`,a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`size-3 shrink-0`)),icon:o,size:16,strokeWidth:1.5})),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/resources/first-workflow/`},`Plan your first workflow`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/faq/`},`FAQ`),a(r,{className:`w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,to:`/brand/`},`Brand kit`))),a(`div`,{className:`break-inside-avoid`},a(`h2`,{className:`text-xs font-book leading-5 text-muted-foreground`},`Terms & policies`),a(`div`,{className:`mt-2 flex flex-col gap-2`},a(`a`,{"aria-label":`Privacy policy (opens in a new tab)`,className:`inline-flex items-center gap-1.5 w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,href:`https://build.reflex.dev/privacy-policy`,rel:`noopener noreferrer`,target:`_blank`},`Privacy policy`,a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`size-3 shrink-0`)),icon:o,size:16,strokeWidth:1.5})),a(`a`,{"aria-label":`Terms of service (opens in a new tab)`,className:`inline-flex items-center gap-1.5 w-fit font-book leading-6 transition-colors text-sm text-foreground hover:text-muted-foreground duration-200 focus-visible:rounded-sm focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-foreground`,href:`https://build.reflex.dev/terms-of-use`,rel:`noopener noreferrer`,target:`_blank`}
1,`Terms of service`,a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`size-3 shrink-0`)),icon:o,size:16,strokeWidth:1.5}))))),a(`div`,{className:`min-w-0`},a(`h2`,{className:`text-xs font-book leading-5 text-muted-foreground`},`Get Updates`),a(M.Fragment,{},a(E,{},a(M.Fragment,{},a(`div`,{className:`mt-3 flex flex-col items-start gap-3`},a(`div`,{className:`flex items-center gap-2`,role:`status`},a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,`shrink-0`)),icon:x,size:18,strokeWidth:1.5}),a(`span`,{className:`text-sm font-medium`},`Thanks for subscribing!`)),a(A,{},`Use another email address`))),a(M.Fragment,{},a(O,{},a(`label`,{className:`sr-only`,htmlFor:`footer-newsletter-email`},`Email address`),a(m,{className:`h-9 w-full gap-2 !rounded-full`},a(`input`,{autoComplete:`email`,className:`h-full w-full min-w-0 flex-1 bg-transparent text-base md:text-sm text-foreground outline-none placeholder:text-subtle-foreground`,id:`footer-newsletter-email`,name:`input_email`,placeholder:`Email`,ref:n,required:!0,type:`email`}),a(_,{"aria-label":`Subscribe to updates`,className:`shrink-0`,nativeButton:!0,size:`icon-xs`,title:`Subscribe to updates`,type:`submit`,variant:`primary`},a(u,{"aria-hidden":!0,className:f(p(`[&_path]:stroke-[2]`,``)),icon:l,size:16,strokeWidth:1.5})))))))))),a(`div`,{className:`grid grid-cols-1 items-center gap-7 pb-8 pt-16 sm:pb-10 lg:grid-cols-[1fr_auto_1fr] lg:gap-10 lg:pt-20 [&>:nth-child(1)]:justify-self-start [&>:nth-child(2)]:justify-self-start lg:[&>:nth-child(2)]:justify-self-center [&>:nth-child(3)]:justify-self-start lg:[&>:nth-child(3)]:justify-self-end`},a(`div`,{className:`flex flex-wrap items-center gap-3`},a(`a`,{"aria-label":`Twitter (opens in a new tab)`,className:`flex size-7 items-center justify-center rounded-md transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 text-muted-foreground hover:bg-subtle hover:text-foreground focus-visible:outline-foreground`,href:`https://twitter.com/getreflex`,rel:`noopener noreferrer`,target:`_blank`,title:`Twitter (opens in a new tab)`},a(`div`,{className:`rx-Html flex justify-center items-center size-4 shrink-0`,dangerouslySetInnerHTML:{__html:`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"> 2 <path d="M8.03906 1.16699C9.49939 1.16698 10.6464 1.16673 11.542 1.28711C12.4598 1.4105 13.1886 1.6681 13.7607 2.24023C14.3329 2.81236 14.5905 3.54123 14.7139 4.45898C14.8342 5.35454 14.834 6.50163 14.834 7.96191V8.03809C14.834 9.49839 14.8342 10.6455 14.7139 11.541C14.5905 12.4588 14.3329 13.1876 13.7607 13.7598C13.1886 14.3319 12.4598 14.5895 11.542 14.7129C10.6464 14.8333 9.49938 14.833 8.03906 14.833H7.96289C6.50261 14.833 5.35552 14.8333 4.45996 14.7129C3.5422 14.5895 2.81334 14.3319 2.24121 13.7598C1.66908 13.1876 1.41148 12.4588 1.28809 11.541C1.16771 10.6454 1.16796 9.49841 1.16797 8.03809V7.96191C1.16796 6.50161 1.16771 5.35455 1.28809 4.45898C1.41148 3.54121 1.66908 2.81237 2.24121 2.24023C2.81334 1.66811 3.54219 1.4105 4.45996 1.28711C5.35553 1.16674 6.5026 1.16698 7.96289 1.16699H8.03906ZM4.66797 4.16699C4.4802 4.16699 4.30814 4.27227 4.22266 4.43945C4.13733 4.60656 4.15286 4.80685 4.2627 4.95898L6.80859 8.48535L4.31445 10.9795C4.11919 11.1748 4.11919 11.4913 4.31445 11.6865C4.50972 11.8818 4.82623 11.8818 5.02148 11.6865L7.40137 9.30664L9.07715 11.626C9.17115 11.7561 9.32187 11.833 9.48242 11.833H11.334C11.5217 11.833 11.6938 11.7277 11.7793 11.5605C11.8646 11.3935 11.8491 11.1931 11.7393 11.041L9.19336 7.51465L11.687
25 5.02051C11.8828 4.82525 11.8827 4.50874 11.6875 4.31348C11.4922 4.11821 11.1757 4.11821 10.9805 4.31348L8.60059 6.69336L6.9248 4.37402C6.83082 4.24389 6.68006 4.16702 6.51953 4.16699H4.66797Z" fill="currentColor"/> 3</svg>`}})),a(`a`,{"aria-label":`GitHub (opens in a new tab)`,className:`flex size-7 items-center justify-center rounded-md transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 text-muted-foreground hover:bg-subtle hover:text-foreground focus-visible:outline-foreground`,href:`https://github.com/reflex-dev`,rel:`noopener noreferrer`,target:`_blank`,title:`GitHub (opens in a new tab)`},a(`div`,{className:`rx-Html flex justify-center items-center size-4 shrink-0`,dangerouslySetInnerHTML:{__html:`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"> 4<g clip-path="url(#clip0_10583_5590)"> 5<path d="M9.37253 15.0407V11.896C9.37253 11.6512 9.3004 11.4383 9.18413 11.246C9.1044 11.1141 9.159 10.9269 9.30313 10.8856C10.4965 10.5432 11.3333 9.99257 11.3333 8.16624C11.3333 7.69144 11.1843 7.24504 10.9223 6.85651C10.917 6.84864 10.912 6.84117 10.9071 6.83404C10.8523 6.75297 10.8248 6.71231 10.8167 6.66811C10.8087 6.62371 10.8201 6.57572 10.8433 6.47949C10.8453 6.47087 10.8475 6.46188 10.8497 6.45247C10.9455 6.05052 10.9532 5.62708 10.8461 5.23209C10.8109 5.10225 10.7355 5.02652 10.5989 5.04114C10.4217 5.06011 10.115 5.14489 9.66 5.44157C9.48126 5.55813 9.39186 5.61641 9.31313 5.62945C9.2344 5.64249 9.1292 5.61518 8.91866 5.56056C8.63086 5.48587 8.33426 5.44578 8 5.44578C7.66573 5.44578 7.36913 5.48587 7.08133 5.56057C6.8708 5.61518 6.7656 5.64249 6.68686 5.62945C6.60814 5.61641 6.51875 5.55813 6.33999 5.44156C5.88502 5.14488 5.57826 5.06011 5.4011 5.04114C5.26453 5.02652 5.18907 5.10225 5.15387 5.23209C5.04678 5.62709 5.05444 6.05053 5.15028 6.45247C5.15253 6.46189 5.15468 6.47089 5.15675 6.4795C5.17984 6.57573 5.19134 6.62371 5.18324 6.66811C5.17518 6.71231 5.14769 6.75297 5.09286 6.83404C5.08802 6.84124 5.08296 6.84871 5.07769 6.85651C4.8157 7.24504 4.66666 7.69144 4.66666 8.16624C4.66666 9.99257 5.5035 10.5432 6.69686 10.8856C6.841 10.9269 6.8956 11.1141 6.81586 11.246C6.6996 11.4383 6.62745 11.6512 6.62745 11.896V12.1962C6.60508 12.1933 6.58243 12.1901 6.56217 12.1867C6.43821 12.1658 6.26036 12.1262 6.05568 12.0518C5.6465 11.9033 5.14059 11.6207 4.73246 11.0799C4.56611 10.8595 4.25258 10.8156 4.03216 10.982C3.81174 11.1483 3.76791 11.4618 3.93426 11.6823C4.4866 12.4142 5.17224 12.795 5.71448 12.9918C5.9855 13.0902 6.22334 13.1437 6.39613 13.1728C6.48274 13.1874 6.55363 13.196 6.60496 13.201C6.61123 13.2016 6.61902 13.2022 6.62745 13.2028V15.0371C3.36407 14.4128 0.835938 11.5972 0.835938 8.00004C0.835938 3.78569 4.10122 0.833374 8.00006 0.833374C11.899 0.833374 15.1643 3.57694 15.1643 8.00264C15.1643 11.6807 12.636 14.4328 9.37253 15.0407Z" fill="currentColor"/> 6</g> 7</svg> 8`}})),a(`a`,{"aria-label":`LinkedIn (opens in a new tab)`,className:`flex size-7 items-center justify-center rounded-md transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 text-muted-foreground hover:bg-subtle hover:text-foreground focus-visible:outline-foreground`,href:`https://www.linkedin.com/company/reflex-dev`,rel:`noopener noreferrer`,target:`_blank`,title:`LinkedIn (opens in a new tab)`},a(`div`,{className:`rx-Html flex justify-center items-center size-4 shrink-0`,dangerouslySetInnerHTML:{__html:`<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"> 9 <path d="M8.03906 14.833C9.49937 14.833 10.6464 14.8333 11.542 14.7129C12.4598 14.5895 13.1886 14.3319 13.7607 13.7598C14.3329 13.1876 14.5905 12.4588 14.7139 11.541C14.8342 10.6455 14.834 9.49839 14.834 8.03809V7.96191C14.834 6.50161 14.8342 5.35455 14.7139 4.45898C14.5905 3.54121 14.3329 2.81237 13.7607 2.24023C13.1886 1.6681 12.4598 1.4105 11.542 1.28711C10.6464 1.16674 9.49936 1.16698 8.03906 1.16699H7.96289C6.50259 1.16698 5.35553 1.16674 4.45996 1.28711C3.54219 1.4105 2.81334 1.6681 2.24121 2.24023C1.66908 2.81237 1.41148 3.54121 1.28809 4.45898C1.16771 5.35455 1.16796 6.5016 1.16797 7.96191V8.03809C1.16796 9.4984 1.16771 10.6454 1.28809 11.541C1.41148 12.4588 1.66908 13.1876 2.24121 13.7598C2.81334 14.3319 3.54219 14.5895 4.45996 14.7129C5.35553 14.8333 6.50259 14.833 7.96289 14.833H8.03906ZM4.66797 5.5C4.20802 5.49979 3.83514 5.12695 3.83496 4.66699C3.83496 4.20689 4.20791 3.83322 4.66797 3.83301H4.6748C5.13474 3.83336 5.50781 4.20697 5.50781 4.66699C5.50764 5.
912686 5.13463 5.49965 4.6748 5.5H4.66797ZM11.3359 12C10.9677 12 10.6689 11.7012 10.6689 11.333V8.66699C10.6689 7.93072 10.0722 7.33318 9.33594 7.33301C8.59956 7.33301 8.00293 7.93061 8.00293 8.66699L8.00293 11.333C8.00293 11.7011 7.70398 11.9998 7.33594 12C6.96775 12 6.66895 11.7012 6.66895 11.333L6.66895 6.66699C6.66895 6.2988 6.96775 6 7.33594 6C7.60593 6.00013 7.83866 6.16072 7.94336 6.3916C8.34858 6.14309 8.82575 6 9.33594 6C10.8085 6.00018 12.0029 7.19434 12.0029 8.66699V11.333C12.0029 11.7011 11.704 11.9998 11.3359 12ZM4.66895 12C4.30084 11.9999 4.00293 11.7011 4.00293 11.333L4.00293 7C4.00293 6.63187 4.30084 6.33311 4.66895 6.33301C5.03705 6.33311 5.33594 6.63187 5.33594 7L5.33594 11.333C5.33594 11.7011 5.03705 11.9999 4.66895 12Z" fill="currentColor"/> 10</svg>`}})),a(`a`,{"aria-label":`Discord (opens in a new tab)`,className:`flex size-7 items-center justify-center rounded-md transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 text-muted-foreground hover:bg-subtle hover:text-foreground focus-visible:outline-foreground`,href:`https://discord.gg/T5WSbC2YtQ`,rel:`noopener noreferrer`,target:`_blank`,title:`Discord (opens in a new tab)`},a(`div`,{className:`rx-Html flex justify-center items-center size-4 shrink-0`,dangerouslySetInnerHTML:{__html:`<svg width="16" height="13" viewBox="0 0 16 13" fill="none" xmlns="http://www.w3.org/2000/svg"> 11<path fill-rule="evenodd" clip-rule="evenodd" d="M13.5447 1.01094C12.5249 0.543018 11.4313 0.198278 10.2879 0.000828179C10.2671 -0.00298182 10.2463 0.00653819 10.2356 0.0255882C10.0949 0.275728 9.93921 0.602058 9.83011 0.858558C8.60028 0.674438 7.3768 0.674438 6.17222 0.858558C6.06311 0.596358 5.90166 0.275728 5.76038 0.0255882C5.74966 0.00716819 5.72887 -0.00235182 5.70803 0.000828179C4.56527 0.197638 3.47171 0.542388 2.45129 1.01094C2.44246 1.01475 2.43488 1.0211 2.42986 1.02935C0.355594 4.12826 -0.212633 7.151 0.0661199 10.1362C0.0673809 10.1508 0.0755798 10.1648 0.0869318 10.1737C1.45547 11.1787 2.78114 11.7889 4.08219 12.1933C4.10301 12.1996 4.12507 12.192 4.13832 12.1749C4.44608 11.7546 4.72043 11.3114 4.95565 10.8454C4.96953 10.8181 4.95628 10.7857 4.92791 10.7749C4.49275 10.6099 4.0784 10.4086 3.67982 10.18C3.64829 10.1616 3.64577 10.1165 3.67477 10.095C3.75865 10.0321 3.84255 9.9667 3.92264 9.9007C3.93713 9.8886 3.95732 9.8861 3.97435 9.8937C6.59287 11.0892 9.42771 11.0892 12.0153 9.8937C12.0323 9.8854 12.0525 9.888 12.0677 9.9C12.1478 9.9661 12.2316 10.0321 12.3161 10.095C12.3451 10.1165 12.3433 10.1616 12.3117 10.18C11.9131 10.413 11.4988 10.6099 11.063 10.7743C11.0346 10.7851 11.022 10.8181 11.0359 10.8454C11.2762 11.3108 11.5505 11.7539 11.8526 12.1742C11.8652 12.192 11.8879 12.1996 11.9087 12.1933C13.2161 11.7889 14.5417 11.1787 15.9103 10.1737C15.9223 10.1648 15.9298 10.1515 15.9311 10.1369C16.2647 6.6856 15.3723 3.68765 13.5655 1.02998C13.5611 1.0211 13.5535 1.01475 13.5447 1.01094ZM5.34668 8.3185C4.55833 8.3185 3.90876 7.59478 3.90876 6.70593C3.90876 5.81707 4.54574 5.09331 5.34668 5.09331C6.15393 5.09331 6.79722 5.82342 6.7846 6.70593C6.7846 7.59478 6.14762 8.3185 5.34668 8.3185ZM10.6632 8.3185C9.87481 8.3185 9.22527 7.59478 9.22527 6.70593C9.22527 5.81707 9.86221 5.09331 10.6632 5.09331C11.4704 5.09331 12.1137 5.82342 12.1011 6.70593C12.1011 7.59478 11.4704 8.3185 10.6632 8.3185Z" fill="currentColor"/> 12</svg> 13`}}))),a(`div`,{className:`flex flex-row flex-wrap items-center justify-center gap-x-3 gap-y-2 `},a(`span`,{className:`text-xs font-book text-muted-foreground`},`Reflex © 2026 Pynecone, Inc.`)),a(`div`,{className:`flex flex-row flex-wrap items-center justify-start gap-3 lg:justify-end`},a(`a`,{className:`block rounded-full px-3 py-2 transition-colors hover:bg-subtle focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-foreground`,href:`https://status.reflex.dev`,rel:`noopener noreferrer`,target:`_blank`},a(M.Fragment,{},a(w,{},a(`span`,{className:`inline-flex items-center gap-1.5 text-xs font-book text-yellow-dark`},a(`span`,{"aria-hidden":`true`,className:`size-2 rounded-full bg-current`}),`Some servers are unavailable`,a(`span`,{className:`sr-only`},` (opens in a new tab)`)),a(`span`,{className:`inline-flex items-center gap-1.5 text-xs font-book text-accent-red`}
13,a(`span`,{"aria-hidden":`true`,className:`size-2 rounded-full bg-current`}),`All servers are down`,a(`span`,{className:`sr-only`},` (opens in a new tab)`)),a(`span`,{className:`inline-flex items-center gap-1.5 text-xs font-book text-green-deep`},a(`span`,{"aria-hidden":`true`,className:`size-2 rounded-full bg-current`}),`All servers are operational`,a(`span`,{className:`sr-only`},` (opens in a new tab)`))))))))))),a(`title`,{},`Purchase Order System - Reflex Template`),a(`meta`,{content:`https://web.reflex-assets.dev/previews/og_reflex.webp`,property:`og:image`}),a(`meta`,{content:`Reflex`,name:`application-name`}),a(`meta`,{content:`Build a purchase order system with an editable purchase order template, live totals, budget validation, and approval-ready workflows.`,name:`description`}),a(`meta`,{content:`https://reflex.dev/templates/purchase-order-system/`,property:`og:url`}),a(`meta`,{content:`website`,property:`og:type`}),a(`meta`,{content:`Purchase Order System - Reflex Template`,property:`og:title`}),a(`meta`,{content:`Build a purchase order system with an editable purchase order template, live totals, budget validation, and approval-ready workflows.`,property:`og:description`}),a(`meta`,{content:`summary_large_image`,name:`twitter:card`}),a(`meta`,{content:`reflex.dev`,property:`twitter:domain`}),a(`meta`,{content:`https://reflex.dev/templates/purchase-order-system/`,property:`twitter:url`}),a(`meta`,{content:`Purchase Order System - Reflex Template`,name:`twitter:title`}),a(`meta`,{content:`Build a purchase order system with an editable purchase order template, live totals, budget validation, and approval-ready workflows.`,name:`twitter:description`}),a(`meta`,{content:`@getreflex`,name:`twitter:creator`}),a(`meta`,{content:`https://web.reflex-assets.dev/previews/og_reflex.webp`,name:`twitter:image`}),a(`link`,{href:`https://reflex.dev/templates/purchase-order-system/`,rel:`canonical`}))}N.displayName=`Component(templates/purchase-order-system)`;var P=n(N);export{P as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.