{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Order Form Templates","description":"Developer documentation for the WHMCS API — the","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"order-form-templates","__idx":0},"children":["Order Form Templates"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-is-an-order-form-template","__idx":1},"children":["What is an Order Form Template?"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Order Form Templates control the way products and the shopping cart appear when customers make purchases."]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["You can find more information about Order Form Templates ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://docs.whmcs.com/Order_Form_Templates"},"children":["here"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["You may want to refer to the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://docs.whmcs.com/Standard_Order_Form_Templates"},"children":["list of WHMCS-shipped Order Form Templates"]},"."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Tip"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To customise other aspects of the WHMCS Client Area, we recommend creating a ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/themes/child-themes/"},"children":["Child Theme"]},"."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Info"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For customization instructions specific to the Nexus Cart template, please see the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/themes/nexus-cart/"},"children":["Nexus Cart"]}," page."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can set the system default Order Form Template at ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Configuration > System Settings > General Settings"]}," in the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Ordering"]}," tab. This is where errors will display if there's a compatibility issue between the current ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["System Theme"]}," and the default Order Form Template."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"order-form-template-dependencies","__idx":2},"children":["Order Form Template Dependencies"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["An inheritance system allows parent-child relationships, with parents providing assets to children. Many custom Order Form Templates will require one or more assets in order to function. These needs are stated in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["dependencies"]}," list in the child's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["theme.yaml"]}," file, and then are fulfilled by the items in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["provides"]}," list in the parent's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["theme.yaml"]}," file."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Tip"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For more about the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["theme.yaml"]}," file and how to use it to declare and fulfill dependencies, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/themes/theme-parameters/"},"children":["The Theme Configuration File"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"creating-an-order-form-template","__idx":3},"children":["Creating an Order Form Template"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Using parent-child relationships, you don't need to create a custom copy of all of the template files. Only copy or create the files you want to customise, and the remaining Order Form Templates will then load from the parent when you define them. This will make your customised Order Form Template easier to maintain. When you upgrade to a new version of WHMCS, the system updates any changes to Order Form Template files that aren't customised."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To create an Order Form Template:"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"1-create-an-order-form-template-folder","__idx":4},"children":["1. Create an Order Form Template Folder"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["First, create a new folder in the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/templates/orderforms/"]}," directory."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The new directory needs a name. For example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["mycart"]},"."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Tip"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Names should only contain lowercase letters, numbers, hyphens, and underscores. They cannot include spaces."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"2-create-a-themeyaml-file","__idx":5},"children":["2. Create a theme.yaml File"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In the new folder, create a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["theme.yaml"]}," file and populate it with information, making sure to specify a parent. At minimum, your ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["theme.yaml"]}," file must contain these lines:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"config:\n  parent: standard_cart\n"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Tip"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For more about the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["theme.yaml"]}," file and its contents, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/themes/theme-parameters/"},"children":["The Theme Configuration File"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"3-customize-files","__idx":6},"children":["3. Customize Files"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Copy the files that you want to customise from the parent Order Form Template."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For example, the Standard Cart Order Form Template is the parent for the Premium Comparison Order Form Template. Premium Comparison consists only of a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["products.tpl"]}," Order Form Template file. All of the other steps of the order process use Standard Cart."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For a current list of Order Form Template files, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://docs.whmcs.com/Order_Form_Templates"},"children":["Order Form Templates"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"testing-order-form-templates","__idx":7},"children":["Testing Order Form Templates"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["WHMCS allows you to preview Order Form Templates before making them live. This is done using the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["?carttpl=xxxx"]}," URL parameter."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"activating-order-form-templates","__idx":8},"children":["Activating Order Form Templates"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can set the Order Form Template for specific product groups at ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Configuration > System Settings > Products/Services"]},"."]}]},"headings":[{"value":"Order Form Templates","id":"order-form-templates","depth":1},{"value":"What is an Order Form Template?","id":"what-is-an-order-form-template","depth":2},{"value":"Order Form Template Dependencies","id":"order-form-template-dependencies","depth":2},{"value":"Creating an Order Form Template","id":"creating-an-order-form-template","depth":2},{"value":"1. Create an Order Form Template Folder","id":"1-create-an-order-form-template-folder","depth":3},{"value":"2. Create a theme.yaml File","id":"2-create-a-themeyaml-file","depth":3},{"value":"3. Customize Files","id":"3-customize-files","depth":3},{"value":"Testing Order Form Templates","id":"testing-order-form-templates","depth":2},{"value":"Activating Order Form Templates","id":"activating-order-form-templates","depth":2}],"frontmatter":{"title":"Order Form Templates","seo":{"title":"Order Form Templates"}},"lastModified":"2026-08-04T14:47:26.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/themes/order-form-templates","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}