Extender Developer

Take customization of Sage 300 to the next level using Python scripts


Bespoke customization of screens, tables, workflows and business logic

  • All the features of Extender Configurator are included with the Extender Developer edition
  • Automate business processes, enhance systems integration, develop custom screens, or provide tailored validation and alerting
  • Develop custom tables that form part of the Sage 300 database, tailoring the core system to meet your exact needs
  • Reduce risk by having all customizations, including Python scripts, held within your Sage 300 database
  • Customize with confidence, knowing that Python is widely regarded as the world’s favourite programming language
  • Leverage existing open source libraries (e.g. integration with cloud based systems)

Add the power of Python to the Alerts & Workflow capabilities of Extender Configurator

Business Logic (Sage 300 Views)

  • By using SDK view calls, your custom scripts form part of the Sage 300 business logic
  • Include additional validations
  • Introduce conditional alerting
  • Automate business processes


  • Improve data accuracy and reliability by using scripts to validate and/or provide default data for required fields
  • Create additional reallocation and deferral transactions in the GL, based on custom business rules
  • Automatically create A/P Invoices for salesperson commission, based on custom business rules
  • Print and email order confirmations and invoices automatically, based on customer preferences
  • Apply security at a field level, or deploy data-level security by User or Group
  • Validate changes to field data according to defined limits and users, e.g. who can change a credit limit, and to how much
  • Auto-assemble Bills of Materials on the fly as orders are created  

Screen Customizations

Modify existing screens in ways not possible at the View level (e.g. tailor tabs, fields, buttons and finders).

Create new screens without the need for complicated programming.


  • Add buttons for custom functionality
  • E.g., on the PO Order screen to auto-print/email a document to the vendor, or on the OE Invoice screen to create an Invoice PDF and email it to the customer
  • Expose & edit Optional Fields in the grid AP Invoice Entry and GL Journal Entry
  • Hide existing fields for specific users

Custom Tables

  • Create custom Sage 300 Views and associated tables, without coding
  • These form part of the Sage 300 database and database dictionary, so they can be accessed, dumped and loaded just like any other View
  • Maintain the Sage 300 database dictionary without being an expert Sage 300 SDK developer
  • Use the Custom Table Editor to create, update and delete the data in your Custom View – or write a script for a tailored screen


  • Store additional information in Sage 300 (e.g., AR Item Optional Field default values, IC Item additional fields, KPIs for your sales people)
  • Store information in Sage 300 to support customizations, e.g. configuration parameters for workflow departmental hierarchy

Advanced Workflow

  • Develop custom Workflow Actions using Python, complementing our pre-defined actions
  • Incorporate Custom View/Table data into Workflow Actions


  • Custom actions to support business processes: e.g. automate an assembly or disassembly on approval
  • Custom actions for validation: e.g. custom credit limit checks by sales area when creating an OE Order, check for a “returned receipt” as part of credit limit checking
  • Using Workflow Status in custom business processes (e.g. Create EFT File)

Advanced Integration

  • Synchronize between systems more efficiently, in real time. E.g. Only update data that has changed
  • Integration with cloud-based collaboration tools (e.g. Slack, MS Teams, Twitter, Twilio)
  • Create files to update external applications when events occur


  • Call a custom process when the Vendor’s address & contact details (but not other fields) are changed
  • Send shipment details to the warehouse when an order is placed
  • Synchronize the on-premises Sage 300 Vendors, Customers, GL Codes and Currency Rates to a cloud-based invoicing system

Start by configuring Alerts & Workflows using Configurator - no coding required

Extender Developer in Action

Anne demonstrates what you can do with the Developer edition of Extender - using the power of Python

Watch the video

Why Python?

Python is a widely used, general-purpose, high-level, open-source language. Here are some of the reasons we chose to use it as the scripting language for Extender.

  • Python is an interpreted language, so it does not require a compiler
  • Customization scripts are company-specific and stored in the Sage 300 company database
  • Source code is available & visible on site, self-documenting, and can be amended on site
  • It supports the use of thousands of well-tested, open-source libraries (e.g. for integration with cloud-based systems)
  • Python consistently tops “most popular programming language” industry surveys  


Orchid Extender is fantastic!  We are now recommending it to all of our clients. The increased functionality that it adds to Sage 300 gives our clients the tools they need to work more efficiently and productively than ever.


Extender scripts reduce client clicks!


I just deployed an Extender script for a client and am loving how it works. Looks like Extender is going to be an integral part of every non-trivial implementation after this!


Extender truly is magical ;)


Truly, my mind is overflowing with all of the possibilities of the interplay between Extender and Notes. This new relationship between them feels like such a game-changer! Sincerest kudos to you and your team - both of these modules are rapidly becoming 'must-quote' for me on new sales as it’s turning so many previous 'no's into 'yes's!


With only a basic knowledge of Python, and almost no exposure to Sage 300 SDK, I was able to implement on-screen validations that were very important for my customer, but not available out of the box.


Product Screenshots

Extender Screenshot 6
Extender Screenshot 2
Extender Screenshot
Extender Screenshot
Extender Screenshot
Extender Custom Tables



  • Features relate to the latest supported version (currently v2022).
  • Extender 2022 requires Sage 300 2022 System Manager and operates with 3rd Party modules written in the Sage 300 SDK.
  • Notes functionality requires Orchid Notes.
  • Workflow User licences are required to access Extender Workflow functionality or to access Extender Logs via screen icons.
  • Named Workflow Anywhere User licences are required for each Workflow Anywhere App user (in addition to Workflow User licences).

Python is installed as part of Extender. If you have another version of Python installed it has no effect on Extender - Extender will use its own version. (Python is a widely used, general-purpose, high-level, open-source scripting language.)

How to buy

Talk to your local Sage 300 partner Send message

International Contacts

Please contact us directly if your business is in the UK, Europe or other regions not listed here. 

North/South/Central America and the Caribbean

Robert Lavery 

Phone: (416) 453-7876
Email: Robert.lavery@sympatico.ca

Robert Lavery & Associates
14 Woodway Trail
Toronto, Ontario CANADA M8Y 2B8

Asia Region

A-Plus Software Limited (ID#82011633)

Phone: + 852-2366 8392
Email: info@a-plussoft.com
Website: www.a-plussoft.com/en/orchid.php

5/F Goldsland Building
22 Minden Avenue, Tsim Sha Tsui,
Kowloon Hong Kong

Australia and New Zealand Region

Sage Software Australia - Business Management Solutions (ERP & CRM)

Phone: 137 243 (13 SAGE)
Website: https://www.sage.com/au

Level 11, Zenith Tower B,
821 Pacific Hwy,
Chatswood NSW 2067

Africa Region

Sage South Africa (Pty) Ltd

Phone: +27 11 304 3000
Website: https://www.sage.com/za

6th Floor, Gateway West
22 Magwa Crescent
Waterfall 5-lr, Midrand, 2066

Middle East Region

Sage Middle East

Phone: +971 43900180
Website: https://www.sage.com/en-ae/support/contact-us

Office No. 118 Building No.11
Dubai Internet City (DIC)
Dubai, PO Box 500198
United Arab Emirates (UAE)

Learn More

Can Extender Do This?
Thu, 30 Jul 2020
"Can Sage 300 do this?" Using Orchid Extender will often, but not always, make the answer "Yes". We'd like to share the process we use for considering and scoping an Extender-based solution.
Extended Notes
Extended Notes...revisited
Tue, 25 Aug 2020
With Notes + Extender, the whole really is greater than the sum of the parts. 3 years after coining the term Extended Notes we take another look at some of the many creative applications our business partners are finding for it.
Examples of customisations using Extender
Wed, 01 Mar 2017
See some examples of how solution providers can use Orchid's Extender Add-On to tailor Sage 300 implementations to their specific client's requirements in a cost effective manner.