{"id":21179128,"url":"https://github.com/avadev/zencart","last_synced_at":"2026-01-02T00:40:56.985Z","repository":{"id":16864742,"uuid":"19624978","full_name":"avadev/ZenCart","owner":"avadev","description":"The Zen Cart Connector for AvaTax is a Zen Cart compliant module that integrates the Zen Cart check-out process with the cloud computing  sales tax service AvaTax, provided by Avalara, Inc. for the calculation, compliance and reporting of sales tax. ","archived":false,"fork":false,"pushed_at":"2014-05-10T00:02:23.000Z","size":170,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"1.5.1","last_synced_at":"2025-01-21T11:45:44.313Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/avadev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-05-09T20:44:00.000Z","updated_at":"2020-08-06T20:12:16.000Z","dependencies_parsed_at":"2022-09-06T02:01:50.649Z","dependency_job_id":null,"html_url":"https://github.com/avadev/ZenCart","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avadev%2FZenCart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avadev%2FZenCart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avadev%2FZenCart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/avadev%2FZenCart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/avadev","download_url":"https://codeload.github.com/avadev/ZenCart/tar.gz/refs/heads/1.5.1","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243629696,"owners_count":20322116,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-20T17:28:50.641Z","updated_at":"2026-01-02T00:40:56.930Z","avatar_url":"https://github.com/avadev.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"INTRODUCTION\n============\nThe Zen Cart Connector for AvaTax is a Zen Cart compliant module that\nintegrates the Zen Cart check-out process with the cloud computing \nsales tax service AvaTax, provided by Avalara, Inc. for the calculation,\ncompliance and reporting of sales tax. \n \nAvaTax reduces the audit risk to a company by providing a cloud-based\nsales tax service that makes it simple to do rate calculations, while managing\nexemption certificates, filing forms and remitting payments.\n\nThe module supports two modes; \n\n1. Basic\n2. Pro\n\nThe AvaTax Basic service provides limited use of the AvaTax sales tax codes, in\nparticular P0000000 for Personal Taxable goods, a Shipping tax code and NT for\nNot Taxable goods.\n\nThe AvaTax Pro service provides full access to the AvaTax sales tax codes.\nThe Pro service is required for states like New York were sales tax rates\nare  based on the type of product, the delivery address, and the time of year.\n\nSales Tax is calculated based on the the sales tax codes assigned to the line\nitems included in the order, the delivery address, and the applicable sales tax\nlegislation in that state.\n\nAccess to a fully functional development account can be requested by contacting\nAvalara, Inc.\n\nAvaTax Development service: https://admin-development.avalara.net\n\nAvaTax Production service: https://admin-avatax.avalara.net  \n\nVersion 1.15.R of the module is compatible with Zen Cart 1.5.1 \n\nREQUIREMENTS\n============\n1. The service uses the AvaTax REST api for processing transactions.\n2. The server needs to support cURL\n\n\nINSTALLATION\n============\nInstalling the module is done as for any custom Zen Cart module, in particular\nto copy the files and folders into the appropriate directories.\n\nThe module does NOT require any existing program files to be modified!\n\nPlease take care - there are folders and files that have duplicate names\nthis is not an error - it is to comply with Zen cart module standards.\nThe files are different and must be copied to their correct places.\n\nThere are no overrides - you can copy files and folders individually or upload \nthe complete includes folder.\n\na) Copy the FILE \"ot_avatax.php\"\nfrom zip file zen_cart_1_15_R\\includes\\languages\\english\\modules\\order_total\\\nto folder www.yoursite/includes/languages/english/modules/order_total/\n\nb) Copy the FOLDER \"avatax\" (contains 1 program files)\nfrom zip file zen_cart_1_15_R\\includes\\modules\\\nto folder www.yoursite/includes/modules/\n\nc) Copy the FILE \"ot_avatax.php\"\nfrom zip file zen_cart_1_15_R\\includes\\modules\\order_total\\\nto folder www.yoursite/includes/modules/order_total/\n\n\nCONFIGURATION\n=============\na) To display sales tax line item if sales tax amount = zero\nAdmin - Select Configuration -\u003e My Store -\u003e Sales Tax Display Status\nSelect \"1\" - to display \u0026 \"0\" to not display\n\nb) We suggest you disable the module ot_tax - or make sure that the Zen Cart\nsales tax module will not conflict with AvaTax!  \n\nc) Using the Admin Page - Select Modules -\u003e Order Total \nThe AvaTax module will be showing alphabetically (probably top) in the\nlist of Order Total Modules available for configuration.\n\nSelect -\u003e Install\n\nComplete the information requested following the instructions in the form\n\nAvaTax Version\n--------------\nSelect Basic or Pro according to the terms of your AvaTax Account. You may\nselect the Pro version of the module with the AvaTax Basic service to customize\nyour use of sales tax codes.\n\nPlease contact Avalara, Inc to discuss the difference between the Basic and\nPro versions of the AvaTax service.\n\nNB: If selecting Pro version - you will be required to extend the module\nto read a sales tax code from your product data structure, after extending\nit to include a sales tax field.\n\nAvaTax Mode\n-----------\nOnly select Production if you have completed the GO LIVE process with Avalara\nand have a valid production account and license key.\n\nAvaTax Company Code\n-------------------\nFor Trial version enter the company code provided. For a full Development\naccount enter the company code for the company provided to you. For a\nProduction account enter the company code set up during Go Live training. \nPlease make sure that you have configured Nexus correctly.\n\nAvaTax Selected States\n----------------------\nThe module allows limiting  sales tax calculations by AvaTax to explicitly\nlisted states. The default administrative option is for this field to be empty.\nThis will result in all orders being sent to the AvaTax service on checkout. \n\nIt is important that you consult with an accountant or sales tax advisor on \nyour legal obligations to collect Sales Tax - known as Sales Tax Nexus.\n\nAvaTax Account Number\n---------------------\nEnter the AvaTax Account number provided.\n\nAvaTax License Key\n------------------\nEnter the AvaTax License Key for your account\n\nSelect Destination Address to use for Sales Tax\n-----------------------------------------------\nSelect Shipping unless your site ONLY sells digital goods. Sales Tax regulations\nrequire that the taxable address for digital goods is the customers billing\naddress. The module does requires customization to support physical and\ndigital goods - select Shipping address and contact adTumbler.\n\nShipping Tax Code\n--------------------\nFR020100 is the AvaTax sales tax code when shipping by public carrier (USPS,\nFedex, etc.)- without change to their rates - please refer to Avalara for the\ncorrect sales tax codes codes if you do not use public carriers or bill\nadditional charges for shipping. The module only caters for one category of\nshipping. \n\nSales Tax Description\n---------------------\nThe sales tax description to be shown to the user. \n\nShow location code\n------------------\nIf selected the sales tax description will include the delivery city entered\nby the user in the shipping/billing address field at checkout.  \n\nPrimary Address\n---------------\nSales tax law requires that a sales tax transaction record the place from which\ngood are shipped. This version of the module does not support Drop Shipments.\nHowever, the module will calculate sales tax correctly provided that a valid\nhead office address is entered. \n\n\nOPERATION OF MODULE\n==================\na) There is no test connectivity to AvaTax function implemented at this time. \nThe best way to test connectivity is to place a test order, with a delivery\naddress in the Nexus state configured, and to inspect the cart for a sales\ntax amount after completing the shipping page.\n\nb) Sales Tax will be calculated and displayed on completion of delivery details\nusing the order check out form.\n\nc) The sales tax transaction will be added to the AvaTax cloud service when the\nuser first creates order. The source code is commented on how to delay the\ncreation of a sales tax transaction in AvaTax to when the order is completed.\n\n\nSALES ORDER PROCESSING\n======================\nThe osCommerce Connector for AvaTax is provided with sample code and the\nfollowing instructions to Commit \u0026 Void transactions in AvaTax by using the\nosCommerce administration page to change the status of orders.\n\nIt is strongly suggested that the financial controller, accountant, or legal\nconsultant is engaged to make sure that the sales tax integration is\ntechnically correct, and compliant!\n\nStep 1\n------\nCopy the FOLDER \"avatax\" (contains 1 program file)\nfrom zip file oscommerce_2_3_R\\admin\\includes\\modules\\\nto folder www.yoursite/admin/includes/modules/avatax/erp.avatax.php\n\nNote: if you have renamed the admin folder copy to\nwww.yoursite/admin(your admin)/includes/modules/avatax/erp.avatax.php\n\nStep 2\n------\nSelect option - Internationalization -\u003e Orders Status\nhttp://yoursite.com/admin/orders_status.php\n\nReview and add status as needed:\n\nStatus \"Delivered\" usually exists - note id on url (typically #3)\nNew Status \"Cancelled\" - note id on url (typically #5)\n\nStep 3\n------\nUpdate the following one osCommerce files\n\nFile: orders.php - NB - instance in yoursite/admin/orders.php\n\nInsert the following 9 lines of code after: \n```\nif ($status \u003c 1) break;\n\n  require_once DIR_WS_MODULES . 'avatax/erp.avatax.php';\n  $avatax_canceled = 5;\n  $avatax_delivered = 3;\n  if ($status == $avatax_canceled) { \n    zc_avatax_cancel_transaction($oID);\n  }\n  if ($status == $avatax_delivered) { \n    zc_avatax_commit_transaction($oID);\n  } \n```\nInsert the following 2 lines of code after: \n```\nzen_remove_order($oID, $_POST['restock']);\n\n  require_once DIR_WS_MODULES . 'avatax/erp.avatax.php';\n  zc_avatax_cancel_transaction($oID);\n```\n\nOperations\n----------\ni) Use the osCommerce administration to change status to \"Delivered\"\nAvaTax will \"Commit\" transaction if order exists, and is a valid document status\n\nii) Use the osCommerce administration to change status to \"Cancelled\"\nAvaTax will \"Void\" transaction if order exists in AvaTax\n\niii) Use the osCommerce administration to delete an order\nAvaTax will \"Void\" transaction if order exists in AvaTax\n\n\nPRODUCTION ACCOUNT - GO LIVE PROCESS\n====================================\nUsing the Zen Cart Administration page:\nSelect Modules -\u003e Order Total -\u003e AvaTax:\n\na) Replace the Development Company Code with the company code created for\nyou production company during Go Live training.\n\nb) Select 'Production' in the field: Account Type\n\nc) Update the AvaTax Account number\n\nd) Update the AvaTax License Key \n\nSave the form.\n\nNB: Do check with the sales tax administrator that any custom tax codes,\nand Nexus configurations, created in the development account have been\nconfigured for your production company.\n\nIt is suggested that customers set up two companies in their production\nAvaTax account - a test company for test transactions - and a production\ncompany for normal operations.\n\n\nADDRESS VALIDATION\n==================\nWe have removed the administrative option to block an order if the address\nentered by a user does not provide a valid sales tax calculation.\n\nIt is the responsibility of the site developer to handle the AvaTax error\ngenerated if the address fields are populated with invalid data by the user.\n\nThe following address will generate an error:\n\nStreet: Nowhere Street\n\nCity: Nowhere City\n\nZip: 99999\n\nAvaTax error: JurisdictionNotFoundError:\nUnable to determine the taxing jurisdictions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favadev%2Fzencart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Favadev%2Fzencart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Favadev%2Fzencart/lists"}