| Business Updates, Product

Tree Planting API Integration with Sage X3

Mysoft x Digital Humani

As part of Mysoft’s TREE initiative, we want to explore ways of tackling climate change and planting trees was an obvious positive action we could undertake. Beyond helping to absorb CO2 from the atmosphere over their lifetime, trees have other environmental benefits, such as helping to restore biodiversity and ecosystems that have been damaged by humans, as well as reducing soil erosion & degradation. 

As a Sage Business Partner, we wanted to do more than just commit to planting a limited number of trees in an ad hoc fashion. Instead, Mysoft wanted to integrate tree planting right into Sage X3, allowing our successes as a business to instantly translate into successes for the environment.


Selection of Tree Planting API Providers


Upon starting this project, our team was very aware that the tree-planting industry has been tainted with multiple examples of greenwashing. With that in mind, we started our evaluation of tree planting API providers with a set of criteria in mind. We discovered quickly that there are many options available, and through a narrowing process we ended up shortlisting three for comparison: More:Trees, Digital Humani and The Good API.


For comparing these different options, we established a few important criteria:

  • Donation Ratio: High percentage of donated money should actually go to tree planting.
  • Efficacy: The trees should actually get planted, not just say they are.
  • API quality: The API should be flexible and rich; we should be able to plant and retrieve previous planting data from the API. 
  • Visibility: There should be an easy to view dashboard from the API provider, providing transparency and visibility of outcomes.
  • Testing: They should provide a sandbox for testing on our development server, allowing us to build the best integration possible. 

Based on these criteria, Digital Humani stood out as the strongest contender

  • They take no money off the top of donations, all money is processed directly by one of their tree planting partners such as OneTreePlanted.
  • They provide the option to choose from many projects that have different partners allowing flexibility to choose a project we like the best with a planting company we view as reliable.
  • They have a detailed API that allows us to retrieve data such as the number of trees planted in a given month, the number of trees planted by user, etc.
  • They have a clear dashboard showing plants by day / month / year, with a log of each individual plant.
  • They have a separate sandbox dashboard and API to allow us to develop without any worries.

Additionally, they have some other benefits outside of our criteria such as being able to get certificates for trees planted if the project partner is OneTreePlanted, and they are a registered charity in Canada.


Development of the Tree Planting API with Sage X3


Having decided on the API provider we began to familiarise ourselves with their API, running tests of tree planting manually to ensure we understood the technology and process using the sandbox.  Once we were satisfied that the API would be appropriate for our use case we began the process of creating the Sage X3 integration. 

After discussions with the internal team at Mysoft, we decided it was best to calculate the number of trees to be planted based on what was invoiced, so when we succeed as a company the environment succeeds too. For invoices, we came up with three different options for the criteria – total invoice value, quantity of certain products, and value of certain products. We also decided to include formula fields to give us more flexibility on what triggers the tree planting. We already, at this stage, had it in mind that other Sage X3 users might be interested in this API; so we specified it with the flexibility for both Mysoft and the potential other businesses. Once this decision was taken, we set to work on the development tasks to make it happen. 

The goal was to amend as little of standard X3 as possible to help keep the integration simple – making it easy to roll out and support.


The Complete Solution; From Sage X3 to Tree Planting


At the end of Phase 1, our solution has 4 new Sage X3 functions: Projects, Campaigns, Campaign Groups, and Process Tree Planting:


API Projects

Digital Humani Project imported into Sage X3


Projects is a simple table view that imports all the tree-planting projects currently available via Digital Humani from the list of providers; the projects are tied to a planting partner and a location round the globe – giving people the choice of where to plant and with whom.




Tree Planting Campaigns & Groups

API Campaign

Tree planting campaigns

The campaign screen includes all the criteria for planting 1 tree. We can set the sales-to-planting ratio here, for example, 0.1 of a quantity will plant 10 trees for every 1 unit.

All campaigns are tied to a planting project with Digital Humani.

Campaigns are organised into Campaign Groups which are applied to the customer.



Tree Planting Triggers

Tree planting requests are generated when a new sales invoice has been created where the customer has a campaign group defined. The number of trees to plant gets updated if the invoice is modified up until the invoice is posted.


API PT Function

Manually process tree planting requests

Process Tree Planting Requests


Finally, we have to plant the trees. For this, we use our Press Tree Planting function. This is a simple tick box with an ‘OK’ button to process all outstanding tree-planting requests.

Typically, this will run on the X3 Batch Server (Scheduler) and will not need to be run manually but is useful to have the option to run it manually from the menu. We created a Batch Task that processes all planting requests at the end of the day.


Digital Humani Dashboard


The dashboard created by Digital Humani is a great place to view all the planting done so far. In this example, you can see two days where we pushed a bulk set of manual plant requests. 

API Dashboard


Mysoft’s Future with Tree Planting


Having built the integration, and proven that it works, we have begun to appreciate the potential for this solution. There are approximately 7,000 Sage X3 sites around the world today; if one in ten sites installed this and set the API up, we would have added another 700 companies to the tree planting project. If each of these planted 1,000 trees per year, we could plant 700,000 trees per year via Sage X3! The potential for this solution to scale and affect meaningful change in the world is startling. 

If you use a Sage X3 and are interested in using our Tree-API, please get in touch and we will gladly make it available to you. 

Mysoft looks forward to growing together with you!

Arrange a 30-min Discovery
Workshop with a Sage X3 Specialist