Summary
Overview
Work History
Education
Skills
Interests
Timeline
Generic

Sarah Farr

BERWICK

Summary

Results-oriented achiever with proven ability to exceed targets and drive success in fast-paced environments. Combines strategic thinking with hands-on experience to deliver impactful solutions and enhance organizational performance.


Overview

17
17
years of professional experience

Work History

Founder and Solution Architect

Dymax Payroll Solutions Pty Ltd
01.2016 - Current

Purpose:

Designed and developed Australian payroll add-on in existing payroll module in AX 2012 and later upgraded solution to be compatible with Dynamics 365 for Finance and operations using extensions.

Responsibilities:

  • Gap-fit analysis and requirements gathering in order to identify differences between the standard American payroll module in D365 FinOps and what is required in an Australian payroll system
  • Development in X++ and MorphX of the following main components:
  • Withholding Tax Calculation framework and user interface
  • Single Touch Payroll – Developed framework to connect to ATO via third party API in order to send and receive messages. Messages in included payload consisting of payroll headers and lines from each pay run. Framework includes full user-friendly interface with full audit trail with error/success logging functions.
  • SuperStream framework, user interface and full audit trail
  • Electronic declaration forms – TFN, Withholding, Medicare Levy Variation and Standard Choice of Superannuation
  • Customisations to standard payroll processes such as calculation of withholding tax and superannuation on pay statements.
  • Contractor Invoicing – Recording superannuation contributions and/or withholding tax from contractor invoices.
  • Absence Management portal – Workflow enabled self-service portal for employees to apply for leave. Framework is tightly integrated with payroll functionality so that approved leave is automatically included in payroll calculations.
  • Awards Interpreter framework – customised standard pay agreements in order to store awards related data. Each employee is enrolled in an award so that the system knows the correct rate to apply when the employee registers their time via time and attendance.
  • Time Registration integration – integrated time registrations with payroll module so that pay statements could be generated from time and attendance.
  • Thorough testing of individual components covering various scenarios.
  • Data Management Framework – Developed data entities for the withholding Tax Calculator (tax tables) and Awards Interpreter (Awards data) so that data packages could be distributed to customers when new awards or tax related information becomes available. Customers would then only need to import the package.
  • SSRS Reports – Developed standard pay statements to be downloaded by employees if required
  • Documentation of all setup and configuration and user related documentation in relation to Australian payroll functionality.

Senior Dynamics AX Developer - Contractor

PSW Pty Ltd
03.2019 - 03.2024

Purpose:

To design and develop new functionality and provide support within AX 2009.

Areas of focus:

  • Finance related modules
  • Trade and logistics
  • Inventory management
  • Retail

Responsibilities:

  • Delivered support and training to internal customers in order for them to learn key features of AX.
  • Managed change requests effectively, prioritizing tasks based on business impact and resource availability.
  • Enhanced customer satisfaction by collaborating closely with internal stakeholders to define business requirements and translate them into technical solutions.
  • Data migration development and related activities
  • Debugged complex software issues, leading to a more stable product release.
  • Corrected, modified and upgraded software to improve performance.
  • Delivered high-quality X++ code for custom functionalities, adhering to best practices and coding standards.

Achievements:

During my time at PSW I developed and implemented the following:

Pick and pack functionality for the warehouse over in China to streamline their ‘back to school’ SEDA program. This functionality enabled warehouse workers over in China to scan items directly from a picking list into a carton and generate the Australia Post shipment and label with the student’s name and address. Once the Australia Post shipment was generated, and the label attached to the carton, the carton could then be packed into a shipping container. The cartons were then sent directly to students once the shipping container arrived in Australia.

This piece of development included a .Net component to enable PSW’s AX 2009 system to talk directly to Australia Post for the purpose of generating shipments and Australia Post labels.

PSW decided to move from using the old AX 2009 Retail module and application to ERPLY. I designed and developed a custom module inside AX specifically for this purpose. I adopted the approach of using staging data, very similar to what was introduced later in AX 2012. Each type of transaction i.e. expense, purchase orders, transfer orders and sales orders had its own staging tables, user interface and associated batch jobs. The role of the batch jobs was to transform raw staging data into each document type within AX.

Much of the work involved in this piece revolved around the sales order component. the different types of orders that would be processed at store i.e. Standard, Parent Orders, Layby’s, and Vouchers. The process behind these orders required a 2-transaction approach; The payment from the customer was recorded in AX as a pre-payment and then offset against the tax invoice generated from the sales order. There were literally hundreds of transactions coming into AX each day from multiple stores around the country.

The user interface displayed the status of the transactions and included a validation and logging process to facilitate trouble shooting incorrect data coming through from ERPLY.

Customisation of the ‘Print Management’ framework inside AX to enable setup of parameterised message templates for the different document types sent to customers and vendors via e-mail i.e. tax invoices and account statements. This functionality also enabled text messages to be sent to customers and vendors using the same parameterised message templates.

This customisation made it possible to send messages directly from code by passing only a couple of parameters. These messages/emails/text messages could be sent to users belonging to specific user groups. I also built this functionality into the existing batch framework so that error messages relating to specific tasks could be sent to users in the form of a list via e-mail. Currently the existing batch framework can only be configured to send e-mails to users if the actual job itself fails. This function would send a list of records i.e. sales orders where the orders failed to post along with the related error message.

Senior Dynamics AX Developer - Contractor

Transdev Pty Ltd
09.2016 - 12.2022

Purpose:

To design and develop new functionality and assist the Finance Department with data related issues and reporting requirements within Dynamics AX 2012,

Responsibilities:

  • Managed change requests effectively, prioritizing tasks based on business impact and resource availability.
  • Debug and troubleshoot incidents reported by end-users to schedule system changes and identify permanent solutions.
  • Design and develop new functionality in line with stakeholder requirements in an agile environment
  • Reduced development time by creating reusable code libraries for future projects.
  • Conducted thorough code reviews to ensure adherence to coding standards and best practices.
  • Updated old code bases to modern development standards, improving functionality.
  • Translated technical concepts and information into terms parties could easily comprehend.
  • Created proofs of concept for innovative new solutions.
  • Provided ongoing maintenance and support for existing SSRS reports, ensuring consistency and accuracy of information presented.
  • Enhanced data accuracy by implementing advanced validation techniques.
  • Worked with client post-implementation on user testing, debugging, support and maintenance.
  • Delivered high-quality X++ code for custom functionalities, adhering to best practices and coding standards.

Senior Dynamics AX Developer - Contractor

Royal Australian and New Zealand College of Obstetricians
05.2017 - 09.2019

Purpose:

To provide functional and technical advice in relation financial areas within Dynamics AX 2012 on ad-hoc basis.


Responsibilities:

  • Assisting with data migration activities
  • Provide administrative and technical support for Management Reporter
  • Enhanced customer satisfaction by collaborating closely with stakeholders to define business requirements and translate them into technical solutions.
  • Worked with client post-implementation on user testing, debugging, support and maintenance.
  • Debugged complex software issues, leading to a more stable product release.
  • Coordinated deployments of new software, feature updates and fixes.
  • Provided training and consultation to finance department on best ways to perform daily finance related tasks in AX 2012.

Senior Dynamics AX Developer - Contractor

Adairs Retail Group Pty Ltd
01.2016 - 08.2016

Purpose:

  • Solution design and development of new features as required, including trouble shooting performance issues and related bugs in Dynamics AX 2012.

Responsibilities:

  • Managed change requests effectively, prioritizing tasks based on business impact and resource availability.
  • Troubleshoot incidents reported by end-users to schedule system changes and identify permanent solutions.
  • Worked closely with client to gather requirements and translate them into technical specifications for implementation.
  • Debugged complex software issues, leading to a more stable product release.
  • Corrected and modified software to improve performance.
  • Created proofs of concept for innovative new solutions.
  • Developed comprehensive documentation for solution design specifications, ensuring clear communication between stakeholders at all stages of project lifecycle.
  • Delivered high-quality solutions on time and within budget through diligent adherence to project scope, timelines, and resource constraints.
  • Delivered high-quality X++ code for custom functionalities, adhering to best practices and coding standards.

Senior Dynamics AX Developer - Permanent

Dialog IT
10.2013 - 11.2015

Purpose:

  • To develop custom solutions and provide ongoing support to Dynamics AX 2012 customers.

Responsibilities:

  • Contributed to the successful completion of numerous projects by delivering timely solutions aligned with client needs.
  • Updated technical documentation, product specifications, and technical training materials.
  • Managed change requests effectively, prioritizing tasks based on business impact and resource availability.
  • Delivered support training to help customers learn key features of applications.
  • Assisted with creation of user manuals.
  • Troubleshoot incidents reported by end-users to schedule system changes and identify permanent solutions.
  • Worked closely with clients to gather requirements and translate them into technical specifications for implementation.
  • Streamlined business processes through the development and implementation of customized software applications tailored to client needs.
  • Provided support during customer implementations and applied industry best practices.
  • Enhanced customer satisfaction by collaborating closely with stakeholders to define business requirements and translate them into technical solutions.
  • Installed, integrated and deployed Dynamics AX 2012 in client environments.
  • Reduced development time by creating reusable code libraries for future projects.
  • Debugged complex software issues, leading to a more stable product release.
  • Continuously updated skills through training courses, workshops, and self-study—staying current on industry trends and emerging technologies.
  • Corrected, modified and upgraded software to improve performance.
  • Created proofs of concept for innovative new solutions.
  • Developed comprehensive documentation for solution design specifications, ensuring clear communication between stakeholders at all stages of project lifecycle.
  • Worked with clients post-implementation on user testing, debugging, support and maintenance.
  • Delivered high-quality solutions on time and within budget through diligent adherence to project scope, timelines, and resource constraints.
  • Provided technical leadership and mentoring for junior team members, fostering a supportive learning environment that promoted skill development and career growth.
  • Delivered high-quality X++ code for custom functionalities, adhering to best practices and coding standards.

Achievements:

In October 2013 I commenced employment with Renown Corporation as a Dynamics AX Developer. I have worked on a number of projects and have developed some helpful tools leveraging the existing frameworks inside dynamics AX.

Some of my achievements whilst at Dialog IT include the following:

SSRS Report Wizard

I created an SSRS Report Wizard for generating the Dynamics AX objects required for creating an SSRS Report. The wizard was made available from the “Tools” menu within Dynamics AX. The objects created by the wizard include:

  • Data provider class
  • Contract class
  • UI Builder class
  • Controller class
  • Temporary table
  • Query
  • Empty SSRS Report

DATA PROVIDER - Allows a developer to build a query by specifying the required table, fields and display methods. The wizard would then create a query in the AOT. The query is then initialised in the code of the 'processReport' method of the data provider class in order to populate the temporary table with data which is used to display on the report.

CONTRACT The wizard gave the ability for developers to select various data types to be used for building parameters on the report contract class. These could be flagged as multi-select if required. Financial Dimension were also available as multi-select. The parameters are then built into the code of the query in the 'processReport' method on the data provider class.

UI BUILDER - This class is created in order to facilitate parameters that are flagged as multi-select. Its purpose is to bind the 'parm' methods in the contract class to the lookup methods generated in the UI Builder.

CONTROLLER – Although the main purpose for this class is to enable execution from within X++ code; the main purpose here is to correct a gap in the multi select capability provided in the standard application. When you use a multi-select on a contract class the user is returned an error if they do not make a selection. The user could get around this be selecting everything in the list. However, this will exclude transactions when the value is null, which is not ideal. So in order to get around this limitation the SSRS Report Wizard will write code in the 'preRunModifyContract' method of the controller class for each multi select parameter and replace the multi-select list with a special value that can be interpreted by the data provider class at runtime. This will then suppress the creation of the query range for that parameter.

TEMPORARY TABLE – The SSRS Report wizard will create a temporary table based on the fields and field datatypes selected by the user.

QUERY – The query is created in the AOT based on the tables and fields selected by a developer. The parameters on the contract class are added to the query as ranges at runtime.

EMPTY SSRS REPORT – An empty SSRS report is generated based on the report name specified by the developer. When the Visual Studio environment is opened, the developer can select the report from the 'Application explorer'. A data source can be added to the report with the data provider generated by the SSRS Report Wizard added as the report query.

This tool enabled some of our functional consultants who were already familiar with native SSRS to write their own reports in Dynamics AX.

Configurable E-mails, Alerts and Notifications

Built a fully configurable interface leveraging the standard alerts and notifications framework inside Dynamics AX in order to provide the following functions:

EMAILING REPORTS
Administrators can configure any type of report for transmission by e-mail (inclusive of reports that implement print management). The global address book has been modified in order to include the method of correspondence on any Customer, Vendor, Contact or Worker by including a flag that enables selection of the preferred method of delivery:

  • None
  • Screen
  • Printer
  • Email

Reports can be e-mailed to Customers, Vendors, Contacts, Workers and Users. The recipient type is specified when configuring the report for e-mail.

MESSAGE TEMPLATES

Fully configurable messages for each configured notification template. Messages are used when configuring the template for e-mails and internal notifications. Parameters are available within the message template. These parameters are based on the type of recipient and record that is specified on the template header. By default the following table metadata will be available as parameters on an e-mail template, for the following recipient types:

  • User HCMWorker
  • Worker HCMWorker
  • Customer CustTable
  • Vendors VendTable
  • Contacts ContactPerson

Additional parameters will be available when configuring notification templates from a record buffer in Dynamics AX. The metadata included in the parameters will come from the record buffer.

E-MAIL MONITORING

E-mail monitoring can be attached on the calling record used when sending an e-mail message. This gives users the ability to do the following:

  • Re-send e-mails
  • Configure a retry schedule
  • View the e-mail history and messages

DOCUMENT HANDLING

The document handling framework has also been customised so that document handling files can be included as attachments when sending e-mails. These attachments can be included along with the report attachment when e-mailing reports.

EMAILS AND NOTIFICATIONS

Emails and or notifications can be easily sent from anywhere in X++ code.

Payroll Integration

I recently I worked on the Payroll Integration Project for Sensis where the requirement was to integrate payroll related data with Dynamics NAV via web service or comma delimited format. Because there were multiple process coming in and out of Dynamics AX I built a “Data integration helper” interface that could be extended for each import/export process.

This interface could be invoked by any query created in the AOT. A user would then select the query in a lookup of a 'runbaseBatch' dialog. The type of integration (import or export) also had to be specified. This customisation included a lot of development around dictionary classes inside AX in order to read and write data. The beauty of this interface was that it could be used later on for other integration requirements. This interface could also be extended for more complex integrations such as the creation of General Journals, which was also a requirement for the payroll integration.

Dialog IT now have 2 other major clients who are going to be utilising this same framework.

Dynamics AX Developer - Contractor

APTEAN
05.2013 - 10.2013

APPurpose:

To assist with the upgrade of the PeoplePoint solution from AX 2009 to AX 2012.

Responsibilities:

  • Code upgrade and refactoring in AX 2012
  • SSRS report writing
  • Upgrade script processes
  • Test data upgrade
  • Information sharing and demonstrations to the PeoplePoint development team

Achievements:

I May 2013 I worked as a contractor for 4 months with APTEAN. This was an upgrade from AX 2009 to AX 2012 for their PeoplePoint solution, created for aged and community care providers. The PeoplePoint solution had over 11,000 customised objects, much of which required refactoring in order to make them compatible with the new frameworks inside Dynamics AX 2012.

Some of the major areas of focus included:

  • Global address book
  • Dimensions framework
  • XDS
  • SSRS Reports
  • Form style conversion

Due to time constraints and the number of tables and fields requiring upgrade scripts, I was asked if I could come up with a way to automate the upgrade script writing process. I was able to achieve this by creating the following tools as a two part process.

I created an “Upgrade script helper” class to determine all the tables and fields in the data dictionary that would require an upgrade script. The helper class would find all tables and fields that only resided in a specific layer (i.e. VAR) that had been assigned the “DEL_” prefix or the “SysDeletedObjects60” configuration key. The helper class would output a list of all the objects to Microsoft Excel which was used as a basis for writing the upgrade scripts. The helper class also had the ability to output table methods, classes and class methods as well as move them to a specific model selected by the user.

I also created a “Script generator” class in the source and target environments which automated the creation of several types of upgrade scripts. The class was built into the X++ code editor. The scripts that could be generated by the framework included the following:

AX 2009 script generator

  • Party
  • Address
  • Electronic address

AX 2012 script generator

  • Dimensions
  • Employee
  • Ledger account

The script generator was completely dynamic and included a user dialog, which gave the developer the opportunity to select the appropriate tables and fields to be used in the script generation.

Prior to being asked to extend the upgrade framework in order to automate the upgrade script writing process, I had estimated that the manual process would take 3-4 weeks. With the above framework in place, I was able to complete the upgrade scripts in both source and target environments in only 4 days.

I was a mentor to the PeoplePoint development team where I provided other useful tools in order to assist other developers with their development tasks. I have also given technical demonstrations via WebEx to share my knowledge with my colleagues.

Dynamics AX Developer - Permanent

Moore Stephens Melbourne Pty Ltd
10.2010 - 05.2013

Purpose:

  • To design develop and maintain the internal Dynamics AX 2009 system and upgrade it to AX 2012, as well as providing development services for Moore Stephens Technology AX Clients.

Responsibilities:

  • Develop new functionality within Dynamics AX and ensure that best practices are adhered to.
  • Provide BAU support to end users.
  • Write complex reports using SQL Reporting Services.
  • Develop functionality in Enterprise Portal in order to streamline business processes in order to eliminate the need for additional licenses.
  • Provide technical guidance to functional consultants and the IT Manager.
  • Data analysis activities.
  • Debugged complex software issues, leading to a more stable product release.
  • Continuously updated skills through training courses, workshops, and self-study—staying current on industry trends and emerging technologies.
  • Participated in regular code reviews, ensuring high-quality standards were consistently met across all development efforts.
  • Reduced development time by creating reusable code libraries for future projects.
  • Updated old code bases to modern development standards, improving functionality.
  • Corrected, modified and upgraded software to improve performance.
  • Authored code fixes and enhancements for inclusion in future code releases and patches.
  • Coordinated deployments of new software, feature updates and fixes.
  • Created proofs of concept for innovative new solutions.

Achievements:

Designed and built a Windows application in C# for integration with AX 2012 using AIF. Its purpose is for employees to record time and expenses as well as track their availability, budgets and actual hours worked:

  • The application is built upon a SQL database. Some of the static and setup data is replicated from the Dynamics AX database;
  • Time and expenses are approved by managers from within the application. Upon approval, hour and expense journals are created inside Dynamics AX via AIF services;
  • Some modifications to the Dynamics application were made in order facilitate permissions inside the time and expenses application.

New module for importing data in order to automatically create invoice and expense journals for:

  • Telstra invoice transactions (mobile and mobile Internet charges);
  • Landline invoice transactions (internal telephone lines);
  • Mastercard and Diners Club transactions; and
  • Cabcharges.

Enterprise Portal Development:

  • Graduate recruitment – External site for graduate applicants;
  • Client Wizard - for creating customers, project contracts and projects within the Projects module;
  • CRM Pipeline Wizard – for creating prospects in CRM module;
  • Performance Appraisals – for employees to complete and submit performance reviews (implements workflow).

SQL Reporting Services

  • Designed a single framework for reporting on WIP and historical WIP in the projects module of Dynamics AX from SQL Reporting Services.

Moore Stephens uses the Projects module of AX internally for recording and invoicing time and expenses for all of their clients. They had been using AX for a period of 8 years. Their initial installation was AX 3 and they upgraded to AX 2009 early in 2010, prior to my commencement.

The projects module in their environment had been very heavily modified and their ledger and projects had also never balanced until I re-built their customisations is 2011. Major areas of customisation included the following:

  • Client, project contract and project wizards (inside AX and Enterprise Portal);
  • Project invoices;
  • Project Credit notes;
  • Project write-offs;
  • Project Write-ups;
  • Project adjustments; and
  • Project WIP reports.

I also upgraded their environment to from AX 2009 to AX 2012 prior to departing in May 2013.

Dynamics AX Developer - Permanent

Tectura Australia Pty Ltd
08.2008 - 09.2010

Purpose:

To work as a technical consulting team member responsible for ensuring the highest quality of development services are provided to clients.

Responsibilities:

  • To have a thorough knowledge of the business needs of customers.
  • Design and development of new functionality and modifications to existing functionality within the Microsoft Dynamics solution to specification.
  • Develop and customise reports within the Microsoft Dynamics solution.
  • Test and QA developments.
  • Provides pre and post sales support as needed.
  • Ability to analyse client requirements and objectives to determine how software can best meet client’s requirements and objectives.
  • To attend professional development courses and seek to expand the company and personal goals.
  • Ensure Tectura standards, methodologies and conventions are complied with.
  • Debugged complex software issues, leading to a more stable product release.
  • Continuously updated skills through training courses, workshops, and self-study—staying current on industry trends and emerging technologies.
  • Worked closely with clients to gather requirements and translate them into technical specifications for implementation.

Education

Microsoft Certified - Microsoft Certified Solutions Specialist

Dimension Data Learning Solutions
Melbourne, VIC
12.2007

Diploma of Business (Office Administration) - Diploma of Business (Office Administration)

Chisholm Institute of TAFE
Berwick, VIC
01.2001

Skills

  • Strong X development skills
  • Code maintenance and upgrade skills
  • SSRS report development
  • Data Management Framework
  • Web Services and API Integration
  • Azure DevOps experience
  • Git Repository Management
  • Effective Troubleshooting Abilities
  • Strong communication skills
  • Strategic and creative thinker
  • Professional and mature with strong work ethic

Interests

  • Drawing
  • Painting
  • Walking
  • Gardening
  • Knitting
  • Cooking
  • Fishing

Timeline

Senior Dynamics AX Developer - Contractor

PSW Pty Ltd
03.2019 - 03.2024

Senior Dynamics AX Developer - Contractor

Royal Australian and New Zealand College of Obstetricians
05.2017 - 09.2019

Senior Dynamics AX Developer - Contractor

Transdev Pty Ltd
09.2016 - 12.2022

Founder and Solution Architect

Dymax Payroll Solutions Pty Ltd
01.2016 - Current

Senior Dynamics AX Developer - Contractor

Adairs Retail Group Pty Ltd
01.2016 - 08.2016

Senior Dynamics AX Developer - Permanent

Dialog IT
10.2013 - 11.2015

Dynamics AX Developer - Contractor

APTEAN
05.2013 - 10.2013

Dynamics AX Developer - Permanent

Moore Stephens Melbourne Pty Ltd
10.2010 - 05.2013

Dynamics AX Developer - Permanent

Tectura Australia Pty Ltd
08.2008 - 09.2010

Microsoft Certified - Microsoft Certified Solutions Specialist

Dimension Data Learning Solutions

Diploma of Business (Office Administration) - Diploma of Business (Office Administration)

Chisholm Institute of TAFE
Sarah Farr