[{"data":1,"prerenderedAt":719},["ShallowReactive",2],{"header:help":3,"footer:default":67,"story:navigation\u002Fsearch:help":250,"story:help\u002Fcategories":288,"story:help\u002Farticles\u002Ftrack-inventory-with-quantity_max-and-the-transaction-webhook":314,"no-guide:track-inventory-with-quantity_max-and-the-transaction-webhook":59,"article:\u002Fhelp\u002Farticles\u002Ftrack-inventory-with-quantity_max-and-the-transaction-webhook":462,"story:contact":474,"help:tree:ee0228b9-0624-469a-9ec3-0762549a44b1:587f2817-47a8-47ff-8f12-8fc3b4f3ec4d":664,"_apollo:default":718},{"name":4,"created_at":5,"published_at":6,"updated_at":7,"id":8,"uuid":9,"content":10,"slug":57,"full_slug":58,"sort_by_date":59,"position":60,"tag_list":61,"is_startpage":24,"parent_id":62,"meta_data":59,"group_id":63,"first_published_at":64,"release_id":59,"lang":65,"path":59,"alternates":66,"default_full_slug":59,"translated_slugs":59},"Help Center Header","2024-08-09T18:06:34.939Z","2024-10-21T21:58:39.217Z","2024-10-21T21:58:39.232Z",10082752,"3e9b88f7-c163-4657-a2f2-62532d600fad",{"_uid":11,"link":12,"badge":16,"items":17,"title":13,"buttons":50,"new_tab":24,"submenu":51,"alignment":13,"component":52,"badge_link":53,"top_menu_items":56},"e5645a1a-f991-40e8-8d67-e40ebc082b5a",{"id":13,"url":13,"linktype":14,"fieldtype":15,"cached_url":13},"","story","multilink","Help Center",[18,27,34,39,44],{"_uid":19,"link":20,"title":23,"new_tab":24,"submenu":25,"component":26},"5cbe2861-1f49-4166-97da-a4dddd8105e3",{"id":21,"url":13,"linktype":14,"fieldtype":15,"cached_url":22},"4c0a2d99-ec30-4579-8ef1-6bf5564d4839","help\u002Fcategories\u002F","Articles",false,[],"header___item",{"_uid":28,"link":29,"title":32,"new_tab":33,"component":26},"1c8edeb5-b9e9-4cb8-b1c6-c1f292f7d7cd",{"id":13,"url":30,"linktype":31,"fieldtype":15,"cached_url":30},"https:\u002F\u002Fwiki.foxycart.com\u002F","url","Documentation",true,{"_uid":35,"link":36,"title":38,"new_tab":33,"component":26},"8d7df70e-f087-4da0-b616-6f0e9a5af35c",{"id":13,"url":37,"linktype":31,"fieldtype":15,"cached_url":37},"https:\u002F\u002Fapi.foxycart.com\u002F","API Documentation",{"_uid":40,"link":41,"title":43,"new_tab":33,"component":26},"f76e7944-23d5-4652-87e4-cdae79272762",{"id":13,"url":42,"linktype":31,"fieldtype":15,"cached_url":42},"https:\u002F\u002Fstatus.foxy.io\u002F","System Status",{"_uid":45,"link":46,"title":49,"new_tab":24,"component":26},"0de16771-4c84-466c-a1da-d8568113c71f",{"id":47,"url":13,"linktype":14,"fieldtype":15,"cached_url":48},"01e4e370-f9b9-45af-8fa9-f15540699b0d","contact","Contact Us",[],[],"header",{"id":54,"url":13,"linktype":14,"fieldtype":15,"cached_url":55},"4a679eb7-662d-4ea4-a976-5a2acbf0b663","help\u002F",[],"help-header","navigation\u002Fhelp-header",null,20,[],10082747,"71b81c2e-5e09-48a1-a397-a3c72fcd344a","2022-09-21T14:50:25.655Z","default",[],{"name":68,"created_at":69,"published_at":70,"updated_at":71,"id":72,"uuid":73,"content":74,"slug":243,"full_slug":244,"sort_by_date":59,"position":245,"tag_list":246,"is_startpage":24,"parent_id":62,"meta_data":59,"group_id":247,"first_published_at":248,"release_id":59,"lang":65,"path":59,"alternates":249,"default_full_slug":59,"translated_slugs":59},"Default Footer","2024-08-09T18:06:59.024Z","2025-09-04T06:24:46.223Z","2025-09-04T06:24:46.241Z",10082753,"e59e67ac-248a-482f-84a1-53d4f318186a",{"_uid":75,"about":76,"logos":77,"socials":82,"sections":108,"component":225,"cta_title":226,"bottom_links":227,"cta_subtitle":241,"cta_button_link":242,"cta_button_text":183},"830983f5-c4c4-43c8-b150-86a5e3fa6dc8","Foxy’s hosted cart & payment page allow you to sell anything, using your existing website or platform.",[78],{"id":79,"alt":13,"name":13,"focus":13,"title":13,"filename":80,"copyright":13,"fieldtype":81},14760,"https:\u002F\u002Fa-us.storyblok.com\u002Ff\u002F1001040\u002Fx\u002F3b030847ec\u002Fb-corp.svg","asset",[83,90,96,102],{"_uid":84,"icon":85,"link":86,"name":88,"component":89},"faf0a618-ea94-42ea-9182-03be18c43216","fa-facebook",{"id":13,"url":87,"linktype":31,"fieldtype":15,"cached_url":87},"https:\u002F\u002Fwww.facebook.com\u002Ffoxycart","Facebook","footer___social",{"_uid":91,"icon":92,"link":93,"name":95,"component":89},"14309c18-7e79-423e-b375-34555bac0811","fa-instagram",{"id":13,"url":94,"linktype":31,"fieldtype":15,"cached_url":94},"https:\u002F\u002Fwww.instagram.com\u002Ffoxy_io","Instagram",{"_uid":97,"icon":98,"link":99,"name":101,"component":89},"8f7fe7cf-0dd3-4596-8334-226ea466716a","fa-linkedin",{"id":13,"url":100,"linktype":31,"fieldtype":15,"cached_url":100},"https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Ffoxycart.com","LinkedIn",{"_uid":103,"icon":104,"link":105,"name":107,"component":89},"90a675b4-dd97-40b5-be09-00a87223d4c5","fa-youtube",{"id":13,"url":106,"linktype":31,"fieldtype":15,"cached_url":106},"https:\u002F\u002Fwww.youtube.com\u002Fuser\u002Ffoxycart","Youtube",[109,139,184,206],{"_uid":110,"name":111,"items":112,"component":138},"82849945-282f-488c-b18d-a8d2252f514a","Company",[113,120,126,132],{"_uid":114,"link":115,"title":118,"new_tab":24,"component":119},"1f699ab1-938b-4d9d-9825-aabcbe6f57fe",{"id":116,"url":13,"linktype":14,"fieldtype":15,"cached_url":117},"63634293-a749-4226-9439-9f38ee6dcda0","about-us","About Us","footer___menu_items",{"_uid":121,"link":122,"title":125,"new_tab":24,"component":119},"b26b00f1-a0e7-4be2-8ab3-428b8cc841f8",{"id":123,"url":13,"linktype":14,"fieldtype":15,"cached_url":124},"26cb7c55-faed-4a77-a291-1552d4111b3e","how-foxy-works","How Foxy Works",{"_uid":127,"link":128,"title":131,"new_tab":24,"component":119},"b40c68a0-1ceb-4226-9515-6176534f61fe",{"id":129,"url":13,"linktype":14,"fieldtype":15,"cached_url":130},"dc6657d7-7f4f-4c0d-b781-e971b038ee26","for-good","Foxy For Good",{"_uid":133,"link":134,"title":137,"new_tab":24,"component":119},"3ad0c134-bef9-4fff-b891-e09f16109036",{"id":135,"url":13,"linktype":14,"fieldtype":15,"cached_url":136},"23cae210-baf4-4588-9862-d09f4f52ccd2","brand-assets","Brand Assets","footer___section",{"_uid":140,"name":141,"items":142,"component":138},"a6805fa8-ac60-47f1-b8f0-f27aded0afbe","Product",[143,149,155,161,167,173,179],{"_uid":144,"link":145,"title":148,"new_tab":24,"component":119},"b39c8a4e-2383-486f-b76a-11fbb15d8134",{"id":146,"url":13,"linktype":14,"fieldtype":15,"cached_url":147},"bb04690f-fe98-4ce6-80be-05b950f2364f","features\u002F","Features",{"_uid":150,"link":151,"title":154,"new_tab":24,"component":119},"64f8a41f-c181-433d-bc0a-fc94e71ecbf6",{"id":152,"url":13,"linktype":14,"fieldtype":15,"cached_url":153},"c450c58d-761d-48c0-a9af-0b064611689b","pricing","Pricing",{"_uid":156,"link":157,"title":160,"new_tab":24,"component":119},"6e0b287f-fd8c-4146-9e0e-0ab0b5c9ce3c",{"id":158,"url":13,"linktype":14,"fieldtype":15,"cached_url":159},"fab20ad9-e76a-4947-b709-3a6fdfa88028","blog\u002Fcategories\u002Fproduct-updates","Product Updates",{"_uid":162,"link":163,"title":166,"new_tab":24,"component":119},"47e5a074-a6b5-4f1c-8c2f-89a2ae9f83eb",{"id":164,"url":13,"linktype":14,"fieldtype":15,"cached_url":165},"d2c83612-d611-47f3-a3b4-ca7fe08540b8","changelogs\u002F","Changelogs",{"_uid":168,"link":169,"title":172,"new_tab":24,"component":119},"b5c08774-542f-4ffd-b357-c94d674488b9",{"id":170,"url":13,"linktype":14,"fieldtype":15,"cached_url":171},"08876121-0df3-4ed9-aa11-902b3e41cd02","whats-next","What's Next",{"_uid":174,"link":175,"title":178,"new_tab":24,"component":119},"9c2704ed-6d9f-43e1-9e67-c8d91c083288",{"id":176,"url":13,"linktype":14,"fieldtype":15,"cached_url":177},"056a7857-b18f-4025-8f97-91a38fc19bc8","compare\u002F","Compare",{"_uid":180,"link":181,"title":183,"new_tab":24,"component":119},"5f2db35b-674b-406a-8fa7-d246633af9fe",{"id":13,"url":182,"linktype":31,"fieldtype":15,"cached_url":182},"https:\u002F\u002Fadmin.foxy.io\u002Fsign-up","Try Foxy Free",{"_uid":185,"name":186,"items":187,"component":138},"63fa1f29-4252-4640-9922-fe310e69e54a","Security",[188,194,200],{"_uid":189,"link":190,"title":193,"new_tab":24,"component":119},"1158ddb6-9eb0-466f-8eb6-7ca2ae66c8b8",{"id":191,"url":13,"linktype":14,"fieldtype":15,"cached_url":192},"1f58fb2c-8681-4742-b6e8-09999beae9f6","security-contact","Security Contact",{"_uid":195,"link":196,"title":199,"new_tab":24,"component":119},"9a79c54a-6022-4dfd-854b-766f5e4703ba",{"id":197,"url":13,"linktype":14,"fieldtype":15,"cached_url":198},"55cbfcc3-425a-4261-8037-54e919851d2d","pci","PCI Compliance",{"_uid":201,"link":202,"title":205,"new_tab":24,"component":119},"0b85f5b6-9534-4071-b323-b39d053dd4d7",{"id":203,"url":13,"linktype":14,"fieldtype":15,"cached_url":204},"c3ac0fe3-83e2-4879-afbd-d4c83e1590df","help\u002Farticles\u002Four-official-domains-public-code","Domains & Codebases",{"_uid":207,"name":208,"items":209,"component":138},"998ded67-d107-49f4-8154-ca6be51671ec","Support",[210,213,216,219,222],{"_uid":211,"link":212,"title":16,"new_tab":24,"component":119},"594ffd35-3049-4004-bb08-0db568ebd819",{"id":54,"url":13,"linktype":14,"fieldtype":15,"cached_url":55},{"_uid":214,"link":215,"title":32,"new_tab":33,"component":119},"0a1a55ab-a985-4f9d-8b42-26da714d0c1c",{"id":13,"url":30,"linktype":31,"fieldtype":15,"cached_url":30},{"_uid":217,"link":218,"title":38,"new_tab":33,"component":119},"61e0b7c8-aadf-419b-a339-b3ccabc65bf4",{"id":13,"url":37,"linktype":31,"fieldtype":15,"cached_url":37},{"_uid":220,"link":221,"title":43,"new_tab":33,"component":119},"fd67a89e-1c54-4d31-94b5-64be999062d6",{"id":13,"url":42,"linktype":31,"fieldtype":15,"cached_url":42},{"_uid":223,"link":224,"title":49,"new_tab":24,"component":119},"231a6f71-e996-4ad4-b033-d4d5542f34f0",{"id":47,"url":13,"linktype":14,"fieldtype":15,"cached_url":48},"footer","Get started with our *unlimited free trial*.",[228,235],{"_uid":229,"link":230,"text":233,"component":234},"f0b77210-2632-45a2-8436-e57cad84d01a",{"id":231,"url":13,"linktype":14,"fieldtype":15,"cached_url":232},"60ba16a2-c1f4-485f-b978-8d2eeeafbf5a","terms-of-service","Terms of Service","footer___bottom_links",{"_uid":236,"link":237,"text":240,"component":234},"4bd497b0-993f-4b4d-a5b7-8a49c7c8fec9",{"id":238,"url":13,"linktype":14,"fieldtype":15,"cached_url":239},"332302b9-1d18-4016-b9c8-9b33c72d782b","privacy-policy","Privacy Policy","No credit card required.",{"id":13,"url":182,"linktype":31,"fieldtype":15,"cached_url":182},"default-footer","navigation\u002Fdefault-footer",50,[],"11006268-07f9-41e9-96f3-c51fb723399d","2022-09-21T20:39:02.357Z",[],{"name":251,"created_at":252,"published_at":253,"updated_at":254,"id":255,"uuid":256,"content":257,"slug":279,"full_slug":282,"sort_by_date":59,"position":283,"tag_list":284,"is_startpage":24,"parent_id":62,"meta_data":59,"group_id":285,"first_published_at":286,"release_id":59,"lang":65,"path":59,"alternates":287,"default_full_slug":59,"translated_slugs":59},"Search","2024-10-21T22:08:54.973Z","2025-05-26T09:17:25.790Z","2025-05-26T09:17:25.804Z",13592003,"14cbc359-9ac1-4a7a-a8de-ad4ac8ef26d4",{"_uid":258,"name":251,"indices":259,"summary":13,"component":279,"primary_image":280},"5e4a56e8-76f1-4790-b3a7-70f1be97d042",[260,265,269,274],{"key":261,"_uid":262,"icon":13,"name":263,"component":264},"all","c12a3210-7323-4273-8217-5215e52efe84","All","index",{"key":266,"_uid":267,"icon":268,"name":23,"component":264},"help_center_article","5acff080-95e4-44d3-8dcf-1b19720af382","fa-file-alt",{"key":270,"_uid":271,"icon":272,"name":273,"component":264},"help_center_guide","b8fbc206-c083-471e-a1f0-0ebeb90a669d","fa-book","Guides",{"key":275,"_uid":276,"icon":277,"name":278,"component":264},"blog_post","23419e83-2e56-4c4c-8a05-9fd1b3c9a9bd","fa-file-image","Blog Posts","search",{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":281},{},"navigation\u002Fsearch",60,[],"11e1fd31-95cd-4fc9-b736-8b8910663e6c","2024-10-21T23:17:05.904Z",[],{"name":23,"created_at":289,"published_at":290,"updated_at":291,"id":292,"uuid":21,"content":293,"slug":307,"full_slug":22,"sort_by_date":59,"position":308,"tag_list":309,"is_startpage":33,"parent_id":310,"meta_data":59,"group_id":311,"first_published_at":312,"release_id":59,"lang":65,"path":59,"alternates":313,"default_full_slug":59,"translated_slugs":59},"2022-09-19T14:42:29.685Z","2024-07-30T18:17:22.506Z","2024-07-30T18:17:22.525Z",2660,{"_uid":294,"icon":13,"name":23,"guides":295,"pinned":24,"summary":296,"category":13,"component":297,"blog_posts":298,"content_hub":24,"icon_custom":299,"case_studies":300,"faq_sections":301,"help_articles":302,"featured_guides":303,"mailbox_category":13,"featured_articles":304,"featured_blog_posts":305,"featured_case_studies":306},"d6dae89a-907a-4bf7-82de-fe2ba875ee6e",[],"Get your questions answered with our browsable knowledge base.","help_center_category",[],{"id":59,"alt":59,"name":13,"focus":59,"title":59,"filename":13,"copyright":59,"fieldtype":81},[],[],[],[],[],[],[],"categories",530,[],2658,"19ebcdd2-027f-47f5-9a5b-a8992c959578","2022-09-19T16:24:39.219Z",[],{"name":315,"created_at":316,"published_at":317,"updated_at":318,"id":319,"uuid":320,"content":321,"slug":455,"full_slug":456,"sort_by_date":59,"position":457,"tag_list":458,"is_startpage":24,"parent_id":459,"meta_data":59,"group_id":460,"first_published_at":317,"release_id":59,"lang":65,"path":59,"alternates":461,"default_full_slug":59,"translated_slugs":59},"Track inventory with quantity_max and the transaction webhook","2026-07-24T21:13:43.663Z","2026-07-24T21:48:21.297Z","2026-07-24T21:48:21.310Z",201678944982048,"ee0228b9-0624-469a-9ec3-0762549a44b1",{"_uid":322,"body":323,"name":315,"image":449,"pinned":24,"summary":451,"category":452,"component":266,"related_articles":454},"d8bdeb11-10cb-467f-9070-f60cfc61681b",{"type":324,"content":325},"doc",[326,340,347,393,398],{"type":327,"attrs":328,"content":329},"paragraph",{"textAlign":59},[330,333,338],{"text":331,"type":332},"Combine the ","text",{"text":334,"type":332,"marks":335},"quantity_max",[336],{"type":337},"code",{"text":339,"type":332}," product attribute with the transaction webhook to automatically keep your inventory levels in sync as orders come in.",{"type":341,"attrs":342,"content":344},"heading",{"level":343,"textAlign":59},2,[345],{"text":346,"type":332},"How to set it up",{"type":348,"attrs":349,"content":351},"ordered_list",{"order":350},1,[352,365,381],{"type":353,"content":354},"list_item",[355],{"type":327,"attrs":356,"content":357},{"textAlign":59},[358,360,363],{"text":359,"type":332},"Add the ",{"text":334,"type":332,"marks":361},[362],{"type":337},{"text":364,"type":332}," attribute to your product’s add-to-cart link or form, and set its value to the product’s current inventory level. This prevents a single customer from ordering more of that product than you currently have in stock.",{"type":353,"content":366},[367],{"type":327,"attrs":368,"content":369},{"textAlign":59},[370,372,379],{"text":371,"type":332},"Set up a ",{"text":373,"type":332,"marks":374},"transaction webhook",[375],{"type":376,"attrs":377},"link",{"href":378,"uuid":59,"anchor":59,"target":59,"linktype":31},"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fcreate-a-transaction-webhook",{"text":380,"type":332}," for your store. Foxy sends a summary of each completed transaction to your endpoint, which you can use to decrease your inventory record for each product sold.",{"type":353,"content":382},[383],{"type":327,"attrs":384,"content":385},{"textAlign":59},[386,388,391],{"text":387,"type":332},"Update ",{"text":334,"type":332,"marks":389},[390],{"type":337},{"text":392,"type":332}," on your product links or forms whenever your inventory levels change, so the cart always reflects accurate stock.",{"type":341,"attrs":394,"content":395},{"level":343,"textAlign":59},[396],{"text":397,"type":332},"Notes",{"type":399,"content":400},"bullet_list",[401,408,434],{"type":353,"content":402},[403],{"type":327,"attrs":404,"content":405},{"textAlign":59},[406],{"text":407,"type":332},"This approach works well for stores with low transaction volume, where the chances of two customers checking out for the same item at the same time are low, or where occasional overselling isn’t a major concern.",{"type":353,"content":409},[410],{"type":327,"attrs":411,"content":412},{"textAlign":59},[413,416,418,424,426,432],{"text":334,"type":332,"marks":414},[415],{"type":337},{"text":417,"type":332}," only limits how many of a product a single customer can add to their own cart — it doesn’t reserve stock for that customer, so two customers could still complete overlapping orders for the same limited stock. If you need to prevent that, see ",{"text":419,"type":332,"marks":420},"Confirm inventory before checkout with the pre-payment webhook",[421],{"type":376,"attrs":422},{"href":423,"uuid":59,"anchor":59,"target":59,"linktype":31},"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fconfirm-inventory-before-checkout-with-the-pre-payment-webhook",{"text":425,"type":332}," or ",{"text":427,"type":332,"marks":428},"Set up advanced inventory tracking with inventory locks",[429],{"type":376,"attrs":430},{"href":431,"uuid":59,"anchor":59,"target":59,"linktype":31},"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fset-up-advanced-inventory-tracking-with-inventory-locks",{"text":433,"type":332},".",{"type":353,"content":435},[436],{"type":327,"attrs":437,"content":438},{"textAlign":59},[439,441,447],{"text":440,"type":332},"See the ",{"text":442,"type":332,"marks":443},"transaction webhook payload reference",[444],{"type":376,"attrs":445},{"href":446,"uuid":59,"anchor":59,"target":59,"linktype":31},"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fwebhook-payload-reference",{"text":448,"type":332}," for the full list of data included in each transaction summary.",{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":450},{},"How to use the quantity_max product attribute together with Foxy's transaction webhook to automatically track inventory levels as orders come in.",[453],"587f2817-47a8-47ff-8f12-8fc3b4f3ec4d",[],"track-inventory-with-quantity_max-and-the-transaction-webhook","help\u002Farticles\u002Ftrack-inventory-with-quantity_max-and-the-transaction-webhook",-4660,[],2659,"3297a773-2a08-4fd1-8363-e209e6b99850",[],{"html":463,"sections":464,"segments":470},"\u003Cp>Combine the \u003Ccode class=\"badge bg-soft-danger text-danger\">quantity_max\u003C\u002Fcode> product attribute with the transaction webhook to automatically keep your inventory levels in sync as orders come in.\u003C\u002Fp>\u003Csection id=\"how-to-set-it-up\" data-title=\"How to set it up\" data-title-node=\"H2\">\u003Chr class=\"my-8\" style=\"margin-left: -48px; margin-right: -40vw\">\u003Ch2 data-anchor-id=\"how-to-set-it-up\">How to set it up\u003C\u002Fh2>\u003Col class=\"step step-icon-sm step-dashed step-border-last-0 mt-3\">\u003Cli class=\"step-item\">\u003Cdiv class=\"step-content-wrapper\">\u003Cspan class=\"step-icon step-icon-soft-primary\">1\u003C\u002Fspan>\u003Cdiv class=\"w-100 overflow-hidden\">\u003Cdiv class=\"step-content mt-2\">\u003Cp>Add the \u003Ccode class=\"badge bg-soft-danger text-danger\">quantity_max\u003C\u002Fcode> attribute to your product’s add-to-cart link or form, and set its value to the product’s current inventory level. This prevents a single customer from ordering more of that product than you currently have in stock.\u003C\u002Fp>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fli>\u003Cli class=\"step-item\">\u003Cdiv class=\"step-content-wrapper\">\u003Cspan class=\"step-icon step-icon-soft-primary\">2\u003C\u002Fspan>\u003Cdiv class=\"w-100 overflow-hidden\">\u003Cdiv class=\"step-content mt-2\">\u003Cp>Set up a \u003Ca href=\"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fcreate-a-transaction-webhook\" class=\"\">transaction webhook\u003C\u002Fa> for your store. Foxy sends a summary of each completed transaction to your endpoint, which you can use to decrease your inventory record for each product sold.\u003C\u002Fp>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fli>\u003Cli class=\"step-item\">\u003Cdiv class=\"step-content-wrapper\">\u003Cspan class=\"step-icon step-icon-soft-primary\">3\u003C\u002Fspan>\u003Cdiv class=\"w-100 overflow-hidden\">\u003Cdiv class=\"step-content mt-2\">\u003Cp>Update \u003Ccode class=\"badge bg-soft-danger text-danger\">quantity_max\u003C\u002Fcode> on your product links or forms whenever your inventory levels change, so the cart always reflects accurate stock.\u003C\u002Fp>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fdiv>\u003C\u002Fli>\u003C\u002Fol>\u003C\u002Fsection>\u003Csection id=\"notes\" data-title=\"Notes\" data-title-node=\"H2\">\u003Chr class=\"my-8\" style=\"margin-left: -48px; margin-right: -40vw\">\u003Ch2 data-anchor-id=\"notes\">Notes\u003C\u002Fh2>\u003Cul>\u003Cli>\u003Cp>This approach works well for stores with low transaction volume, where the chances of two customers checking out for the same item at the same time are low, or where occasional overselling isn’t a major concern.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Ccode class=\"badge bg-soft-danger text-danger\">quantity_max\u003C\u002Fcode> only limits how many of a product a single customer can add to their own cart — it doesn’t reserve stock for that customer, so two customers could still complete overlapping orders for the same limited stock. If you need to prevent that, see \u003Ca href=\"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fconfirm-inventory-before-checkout-with-the-pre-payment-webhook\" class=\"\">Confirm inventory before checkout with the pre-payment webhook\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fset-up-advanced-inventory-tracking-with-inventory-locks\" class=\"\">Set up advanced inventory tracking with inventory locks\u003C\u002Fa>.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>See the \u003Ca href=\"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fwebhook-payload-reference\" class=\"\">transaction webhook payload reference\u003C\u002Fa> for the full list of data included in each transaction summary.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>\u003C\u002Fsection>",[465,468],{"id":466,"title":346,"level":467},"how-to-set-it-up","H2",{"id":469,"title":397,"level":467},"notes",[471],{"type":472,"content":473},"html","\u003Cp>Combine the \u003Ccode class=\"badge bg-soft-danger text-danger\">quantity_max\u003C\u002Fcode> product attribute with the transaction webhook to automatically keep your inventory levels in sync as orders come in.\u003C\u002Fp>\u003Ch2>How to set it up\u003C\u002Fh2>\u003Col order=\"1\">\u003Cli>\u003Cp>Add the \u003Ccode class=\"badge bg-soft-danger text-danger\">quantity_max\u003C\u002Fcode> attribute to your product’s add-to-cart link or form, and set its value to the product’s current inventory level. This prevents a single customer from ordering more of that product than you currently have in stock.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Set up a \u003Ca href=\"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fcreate-a-transaction-webhook\" class=\"\">transaction webhook\u003C\u002Fa> for your store. Foxy sends a summary of each completed transaction to your endpoint, which you can use to decrease your inventory record for each product sold.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>Update \u003Ccode class=\"badge bg-soft-danger text-danger\">quantity_max\u003C\u002Fcode> on your product links or forms whenever your inventory levels change, so the cart always reflects accurate stock.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Fol>\u003Ch2>Notes\u003C\u002Fh2>\u003Cul>\u003Cli>\u003Cp>This approach works well for stores with low transaction volume, where the chances of two customers checking out for the same item at the same time are low, or where occasional overselling isn’t a major concern.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>\u003Ccode class=\"badge bg-soft-danger text-danger\">quantity_max\u003C\u002Fcode> only limits how many of a product a single customer can add to their own cart — it doesn’t reserve stock for that customer, so two customers could still complete overlapping orders for the same limited stock. If you need to prevent that, see \u003Ca href=\"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fconfirm-inventory-before-checkout-with-the-pre-payment-webhook\" class=\"\">Confirm inventory before checkout with the pre-payment webhook\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fset-up-advanced-inventory-tracking-with-inventory-locks\" class=\"\">Set up advanced inventory tracking with inventory locks\u003C\u002Fa>.\u003C\u002Fp>\u003C\u002Fli>\u003Cli>\u003Cp>See the \u003Ca href=\"https:\u002F\u002Ffoxy.io\u002Fhelp\u002Farticles\u002Fwebhook-payload-reference\" class=\"\">transaction webhook payload reference\u003C\u002Fa> for the full list of data included in each transaction summary.\u003C\u002Fp>\u003C\u002Fli>\u003C\u002Ful>",{"name":475,"created_at":476,"published_at":477,"updated_at":478,"id":479,"uuid":47,"content":480,"slug":48,"full_slug":48,"sort_by_date":59,"position":659,"tag_list":660,"is_startpage":24,"parent_id":59,"meta_data":59,"group_id":661,"first_published_at":662,"release_id":59,"lang":65,"path":59,"alternates":663,"default_full_slug":59,"translated_slugs":59},"Contact","2022-09-23T19:56:58.957Z","2025-05-08T18:24:40.382Z","2025-05-08T18:24:40.392Z",3138,{"seo":481,"_uid":484,"title":485,"action":486,"fields":487,"method":635,"columns":636,"subtitle":650,"component":48,"button_text":656,"submit_title":657,"submit_subtitle":658},{"_uid":482,"title":475,"plugin":483,"description":13},"24ff7574-3bcc-48d2-85b5-e529dfea1cc4","meta-fields","8f54f1da-9d8f-49b2-89e7-840e886491cb","We're here to help.","https:\u002F\u002Fusebasin.com\u002Ff\u002F029f48d65402",[488,493,497,606,609,614,629],{"_uid":489,"name":490,"type":332,"label":491,"options":13,"required":33,"component":492,"placeholder":13},"9a70b226-2036-4f90-a052-b3efa61c5896","name","Name","form___field",{"_uid":494,"name":495,"type":495,"label":496,"options":13,"required":33,"component":492,"placeholder":13},"86ba35be-ff43-4a28-8633-14052a8f6622","email","Email Address",{"_uid":498,"name":499,"type":500,"label":501,"options":502,"required":33,"component":492,"conditions":503,"placeholder":13},"3f827475-492c-4f97-aa1e-2386ac263b6c","topic","select","Topic","Presales, Support, Billing, Partnerships, Order Enquiry, Other",[504,560,570,577,585,593,599],{"_uid":505,"equals":506,"fields":507,"component":559},"e21d97dd-e68e-4fa6-ba97-bc40f3041dde","Order Enquiry",[508],{"_uid":509,"body":510,"type":557,"title":13,"component":558},"b64992bc-6d53-48b8-b7a0-d81e5a062e50",{"type":324,"content":511},[512],{"type":327,"content":513},[514,516,523,525,527,528,533,535,540,548,550,555],{"text":515,"type":332},"We are ",{"text":517,"type":332,"marks":518},"Foxy.io",[519],{"type":376,"attrs":520},{"href":521,"uuid":59,"anchor":59,"custom":522,"target":59,"linktype":31},"http:\u002F\u002FFoxy.io",{},{"text":524,"type":332},", an ecommerce platform powering ecommerce for other merchants. We do not sell products, and are unable to assist with questions about order statuses or refunds for any merchants using our platform. Please contact the merchant you ordered from for assistance. If you’d like to report a store using Foxy for fraudulent practices, please select ‘other’ in the subject.",{"type":526},"hard_break",{"type":526},{"text":529,"type":332,"marks":530},"NOTE:",[531],{"type":532},"bold",{"text":534,"type":332}," We are ",{"text":536,"type":332,"marks":537},"not ",[538],{"type":539},"italic",{"text":541,"type":332,"marks":542},"Foxy.in",[543,547],{"type":376,"attrs":544},{"href":545,"uuid":59,"anchor":59,"custom":546,"target":59,"linktype":31},"http:\u002F\u002FFoxy.in",{},{"type":539},{"text":549,"type":332},". We are not in any way affiliated with ",{"text":541,"type":332,"marks":551},[552],{"type":376,"attrs":553},{"href":545,"uuid":59,"anchor":59,"custom":554,"target":59,"linktype":31},{},{"text":556,"type":332},", and cannot help in any way with your order from that website.","danger","global___alert","form___condition",{"_uid":561,"equals":562,"fields":563,"component":559},"8765c3e1-25cf-44aa-b8ea-fc6094acf9c3","Presales",[564],{"_uid":565,"name":566,"type":567,"label":13,"options":13,"required":24,"component":492,"conditions":568,"placeholder":13,"default_value":569},"cf464f8e-d643-4f6e-af29-d3abffaf7380","department_email_address","hidden",[],"hello@foxy.io",{"_uid":571,"equals":208,"fields":572,"component":559},"4007b6d8-77e5-421d-bd1e-6f336dd853fb",[573],{"_uid":574,"name":566,"type":567,"label":13,"options":13,"required":24,"component":492,"conditions":575,"placeholder":13,"default_value":576},"7b4c6aa5-a68c-45e0-9ce1-0a36af10c0c2",[],"help@foxy.io",{"_uid":578,"equals":579,"fields":580,"component":559},"1dbb8f11-613d-43cd-9e09-1b94f6e19219","Billing",[581],{"_uid":582,"name":566,"type":567,"label":13,"options":13,"required":24,"component":492,"conditions":583,"placeholder":13,"default_value":584},"a0ac0d1b-bc4f-4a6c-a682-581d450b0b73",[],"help+billing@foxy.io",{"_uid":586,"equals":587,"fields":588,"component":559},"a0a53a50-7172-4a29-ba58-181e38874e12","Partnerships",[589],{"_uid":590,"name":566,"type":567,"label":13,"options":13,"required":24,"component":492,"conditions":591,"placeholder":13,"default_value":592},"7aa011d9-f374-4aed-b5a5-929b54aaf152",[],"partners@foxy.io",{"_uid":594,"equals":506,"fields":595,"component":559},"a4cd431f-25d5-41c7-bfdc-02c908c8fb47",[596],{"_uid":597,"name":566,"type":567,"label":13,"options":13,"required":24,"component":492,"conditions":598,"placeholder":13,"default_value":569},"f5d52168-d6ae-451b-94ee-2ced1cbd28ad",[],{"_uid":600,"equals":601,"fields":602,"component":559},"25aba1ed-eb41-4bbc-aa89-f7a7167ea86e","Other",[603],{"_uid":604,"name":566,"type":567,"label":13,"options":13,"required":24,"component":492,"conditions":605,"placeholder":13,"default_value":569},"f40dfaef-c203-4b71-bf4e-e1b43cef192b",[],{"_uid":607,"component":608},"e9c53a05-f40a-4510-aaf8-bc072a235a0c","form___subject",{"_uid":610,"name":611,"type":612,"label":613,"options":13,"required":33,"component":492,"placeholder":13},"a4c4d385-fff4-4978-99fb-b68cfea623d6","message","textarea","Message",{"_uid":615,"name":616,"type":500,"label":617,"options":618,"required":33,"component":492,"conditions":619,"placeholder":13},"8a3c9f85-f438-427d-9c7a-d7b295a14b5b","existing_user","Are you an existing user?","No, Yes",[620],{"_uid":621,"equals":622,"fields":623,"component":559},"115933d6-262a-4b59-8fa8-579c5ad73de1","Yes",[624],{"_uid":625,"name":626,"type":332,"label":627,"options":13,"required":33,"component":492,"conditions":628,"placeholder":13},"44b6ff23-98f0-4e95-b7f5-c23e06415c2d","subdomain","Store Subdomain",[],{"_uid":630,"name":631,"type":500,"label":632,"options":633,"required":33,"component":492,"conditions":634,"placeholder":13},"922a5cef-3af2-4113-8855-36c7910e3ee3","user_type","What type of user are you?","Developer, Designer, Merchant",[],"POST",[637],{"_uid":638,"text":639,"title":648,"component":649},"7323b90d-a93a-4bf1-baa9-20d0b7ead61b",{"type":324,"content":640},[641],{"type":327,"content":642},[643,645,646],{"text":644,"type":332},"855.369.9227",{"type":526},{"text":647,"type":332},"9:30am-6pm Central M-F","Pre-sales, Sales, & Partnerships","contact___footer_column",{"type":324,"content":651},[652],{"type":327,"content":653},[654],{"text":655,"type":332},"Get in touch to get help from our friendly support team.","Submit","Success!","Your email has been received. We'll get back to you as soon as we can, but it might take a business day. If you don't hear back from us in a timely manner, please check your spam folder to ensure our reply didn't go there.",-80,[],"2fd9fb7d-a48a-4184-acfd-30022d8d6f08","2022-09-23T20:10:45.360Z",[],[288,665,693],{"name":666,"created_at":667,"published_at":668,"updated_at":669,"id":670,"uuid":671,"content":672,"slug":686,"full_slug":687,"sort_by_date":59,"position":688,"tag_list":689,"is_startpage":24,"parent_id":310,"meta_data":59,"group_id":690,"first_published_at":691,"release_id":59,"lang":65,"path":59,"alternates":692,"default_full_slug":59,"translated_slugs":59},"Products","2023-01-19T16:20:53.075Z","2024-06-05T04:29:14.851Z","2024-06-05T04:29:14.872Z",28236,"389d5512-29ba-4a93-9cfa-9491d1618f73",{"_uid":673,"icon":674,"name":666,"guides":675,"pinned":24,"summary":676,"category":13,"component":297,"blog_posts":677,"content_hub":24,"icon_custom":678,"case_studies":679,"faq_sections":680,"help_articles":681,"featured_guides":682,"mailbox_category":13,"featured_articles":683,"featured_blog_posts":684,"featured_case_studies":685},"3551f6e8-765a-4b8d-8587-2e2eda4d2b23","fa-tags",[],"How products work, supported product types, inventory management, and more.",[],{"id":59,"alt":59,"name":13,"focus":59,"title":59,"filename":13,"copyright":59,"fieldtype":81},[],[],[],[],[],[],[],"products","help\u002Fcategories\u002Fproducts",150,[],"c025c7a7-0d20-4244-938a-c8d6588e1269","2023-01-19T17:25:32.570Z",[],{"name":694,"created_at":695,"published_at":696,"updated_at":697,"id":698,"uuid":453,"content":699,"slug":712,"full_slug":713,"sort_by_date":59,"position":714,"tag_list":715,"is_startpage":24,"parent_id":310,"meta_data":59,"group_id":716,"first_published_at":696,"release_id":59,"lang":65,"path":59,"alternates":717,"default_full_slug":59,"translated_slugs":59},"Inventory Management","2026-07-24T21:09:48.661Z","2026-07-24T21:10:19.366Z","2026-07-24T21:10:19.375Z",201677982405661,{"_uid":700,"icon":13,"name":694,"type":701,"pinned":24,"summary":702,"category":671,"component":297,"blog_posts":703,"icon_custom":704,"case_studies":706,"faq_sections":707,"featured_guides":708,"mailbox_category":13,"featured_articles":709,"featured_blog_posts":710,"featured_case_studies":711},"627df0ff-c9fd-4689-928c-c66ebb1c67d5","simple","How to track product inventory, including limiting cart quantities, confirming stock before checkout, and setting up advanced inventory locks.",[],{"id":59,"alt":59,"name":13,"focus":59,"title":59,"source":59,"filename":13,"copyright":59,"fieldtype":81,"meta_data":705},{},[],[],[],[],[],[],"inventory-management","help\u002Fcategories\u002Finventory-management",-880,[],"7c5de71b-c82b-4c04-a8fb-dfda525b32f6",[],{},1784930206884]