Accounting Source Code for Apps


Get your own custom accounting software completely integrated with your Business to Business (B2B) software.

Customize the accounting software for your industry and improve your competitive advantage.

Using our API, you can add accounting information and functions into your app such as; customer balance owing, financial reports, invoicing, payments, and more.

Contact Us

Stand Apart

By integrating an accounting software with your application, you will stand apart from your competitors.

Most business software includes financial information that require accountants to process, often through spreadsheets, in order to record entries to their accounting systems.

By using Bean Cruncher’s API, entries can be created and edited directly from your application to the accounting software. Eliminating significant amounts of data analysis and re-entry for the accountants, while also improving accuracy.

Few things make accountants happier than improved accuracy and elimination of the routine, tedious, difficult work.

Close More Sales

Accountants are often included in company purchasing decisions, so if they are excited about your application, it will be much easier for you to close.


Add custom features and modules for your clients' industry such as:

Activity and GPS tracking, work tickets, purchase orders, photo uploading, signature capture, inventory management, and more.

Create dashboards with the key performance indicators of your industry.

Add monitoring screens to view real-time activities of work crews.

Owning the source code gives you complete freedom.


Example: A product consumption report for Chem Tec West, a cash wash supply company, that helps their customers monitor costs and prevent product overuse.

The report is build into Chem Tec's website for their customers to login to.

The source code is divided into two parts. The Application Programming Interface (API) and the User Interface (UI).

The API is a RESTful API that responds to GET, PATCH, and POST requests.

The UI uses the AngularJS JavaScript framework.

The use of AngularJS and JavaScript moves the ‘V’ and ‘C’ of the MVC architecture to the client.

Views are HTML enhanced with AngularJS and the Controllers are JavaScript, again, enhanced with AngularJS.

A view source of the UI reveals the clean approach to code design.

Bean Cruncher’s API is built clean and simply. It is well organized with most URLs matching the database table names.

With the 'V' and 'C' of MVC architecture moved to the client, the API strictly manages the 'M'. Focusing on data validation and database read/write work.

A developer tool is available for testing and building integration with the API.  With POST, PATCH, and GET calls available for creating, updating, and reading database records.

JSON is the request and response data format for the API.

There are no server side session variables or server side caching, keeping demand for server resources low.  Bandwidth demand is reduced by caching entity lists, inventory items, and more in the client’s browser’s localStorage.


Server side languages come in two flavors – PHP and C#.


AngularJS recommends PHP for the RESTful API. Programmers familiar with JavaScript are often strong PHP programmers. PHP can be used with both Microsoft and LAMP servers and can connect to both SQL Server and MySQL databases.

PHP also works well with JSON.


C# is the language of business. For true scale-ability, many enterprise applications are built with C# due to its ability to be compiled. It is for this reason it is also built in C#.


Security is a very important aspect of any application, but, more so when it comes to accounting. Bean Cruncher is design with the best solutions available.


OAuth2 is the leading authentication token generator available. Bean Cruncher generates tokens for user log in that can be used for integration with other software applications such as Microsoft Office 365.

The tokens are required and validated for each request sent to the API. Tokens must be included in the request header.


A common hacking technique is changing URL’s when database identities keys are auto incremented, numeric values. A classic database design technique that is easily exploited.

By using Universally Unique Identifiers (UUIDs), each database record’s identity is a 128-bit key that is completely unique.

PHP Frameworks

PHP frameworks and utilities are installed through Node.js using Composer.


Slim provides the URL processing and routing for the UI calls to the API.

The PHP database connection uses PDO for easy connection to any database type.

Each tenant gets their own database. A tenant can represent multiple companies or business entities that need to be frequently consolidated. If consolidated reporting is not required a client may choose a separate database for each company.

A company is any entity that requires a complete set of balanced books with a trail balance and general ledger, such as; an incorporated business, an LLP, a not-for-profit organization, or a group.

Companies that use the same database share the same entity list, accounts, etc. So, if the companies are very different and have high transaction volumes, it is best to keep them separate. Consolidated reporting can be achieved through a consolidation database.

A company should not be split over multiple databases.

User access within a database can be restricted to specific companies if necessary.

Microsoft SQL Server

The primary database used for Bean Cruncher is Microsoft SQL Server. SQL Server is the most common business database.

Although it is not frequently used with PHP, .dll drivers are readily available for most PHP versions.


MySQL database connection is available for developers whose application is already using MySQL.

Bean Cruncher can be hosted on Microsoft or LAMP servers.

For scaleabilityBean Cruncher can be deployed on unlimited servers.

Microsoft Azure

Bean Cruncher can be deployed on Microsoft’s Azure cloud services.

Amazon Web Services

Bean Cruncher can be deployed on Amazon’s Web Services cloud services.

The front-end user interface is HTML powered by the AngularJS framework. This design moves the ‘V’ and ‘C’ of the MVC architecture to the client’s browser. By extensively using the browser’s localStorage, JavaScript code, and AngularJS, much of the computing power is moved off the server to the user’s computer. This significantly reduces demand on the server resources and bandwidth.


The UI is built in HMTL and JavaScript.

HTML Views

All Views are written in HTML. AngularJS then adds to HTML the directives necessary to build powerful apps in browsers.

A few great examples are: ng-class, ng-if, and ng-repeat.

ng-class enables classes to be added to elements as conditions change.


The "success" class can be added when the password length reaches six characters and if it falls back below six, it will be removed.

<­input ng-class="{'success':session.password.length >= 6}">

JavaScript Controllers

All Controllers are built in JavaScript. By utilizing the power of the user’s browser, the UI only needs to communicate with server for data. The user’s browser loads the entire application once upon arrival.

Browsers cache HTML and JavaScript files on user’s PCs, so when navigating through the application, JavaScript pulls only the necessary data to render each view... significantly reducing bandwidth!

The AngularJS then binds the data received, with the HTML view already stored on the user’s PC. A process normally performed by the server. This frees up the server’s resources to respond to more users and remain fast.


A number of frameworks are included with the most significant being AngularJS.


AngularJS is the primary framework around which the application is built. The power it provides is simply revolutionary. Changing the MVC architecture for the better is a significant step forward in software design.

Simply put, Bean Cruncher is an AngularJS app.


The visual styling of Bean Cruncher comes in two flavors; Twitter’s Bootstrap CSS and Google’s Material design.


Twitter’s Bootstrap is an industry standard for the CSS and design for the look-and-feel of the application.

Angular Material

Material Design is Google’s newest visual styling for application development.


Node.js is the package manager for both the PHP API and the UI.


All JavaScript frameworks and dependencies are installed using bower.

Node (npm)

Additional frameworks and utilities are install with npm.


To build or compile the UI, grunt build and grunt compile are used on development and production respectively.

We can provide complete white label support to your customers. We will join your team and communicate with your clients as a member of your company. We can assist with sales demos, implementations, ongoing client support, and extensive developer help for integration with our API.

Developer Support

Unlimited developer support is included with your annual source code subscription. Communications options include: phone calls, email, screen share, etc.

Code writing is $125/hour.

Sales Support

We will provide marketing copy that you can include on your website, marketing brochures, or other collateral. We can also join your sales team during product demos.

Sales support is included.

Client Support

We can assist with accounting support directly to your clients. We white label our support services so we appear as a member of your company when assisting your customers.

You provide us with a company email address and/or phone number and we join your team.

Client support is $90/hour. You can charge your customer $125 for this service or include it with monthly fees.


Changing accounting software is a process that must be well planned and executed for optimal success. Training is very important. Data often needs to be converted from an existing software. Customer, vendor, and item lists are the most common.

We can provide complete support for this process.

Implementation support is $90/hour. You can charge your customer $125 for this service.

Train the Trainer

We can train your staff to perform any of the above support duties. We recommend training at least one client support staff that can handle the majority of the accounting question. We will always remain available for any questions your staff cannot answer.

Trainer training is $125/hour.


Simon Shaw

Simon Shaw, CA Simon is a technical visionary successfully leveraging technology to provide efficient and extremely effective results. Simon has a broad technical and strategic background, skilled at working with corporate leaders and staff to introduce new technology, and translate complex business requirements into robust cost-effective solutions. He has an exceptional ability to communicate complex technical information to business and non-technical audiences.


Simon has helped companies of various sizes from Fortune 500 to mid-sized, owner managed business. Simon once worked with the largest heating oil company in the US, a billion dollar public company on the NYSE. After the Enron collapse, Simon help develop SOX compliant inventory tools to manage and track tens of millions of dollars of fuel, of various types, in numerous locations; including over 2,000 trucks and hundreds of tanks (many shared).

Simon once automated a multi-currency consolidation process for the largest container-leasing company with 18 currencies in 24 countries. Each regional controller submitted their reports in standardized formats for automated consolidation. Taking a near, full-time $80K job to a process an admin clerk completed quickly and independently.

While working at an ERP development firm, Simon was the lead implementer sent in to complete the biggest clients. He worked throughout the US including; ten years in New York, a year in San Francisco, plus time in Austin Texas, Connecticut, Boston, and more.


Simon began programming in 1982 and has been obsessed ever since. His main focus has been software applications for businesses and their accounting and operational departments. After graduating Carleton University in 1995 with a Bachelor of Commerce, he articled with BDO where he specialized in data auditing. Once he received his Chartered Accountant designation he quickly got back into software by joining an ERP development company.

In 2002 he founded a software company specializing in reselling Sage products and Excel based applications, including reporting packages and activity tracking tools. Simon’s applications qualified him to become a Microsoft Certified Partner and Sage Development Partner. He has created both custom solutions and retail software sold to other Sage software users.

In 2008 Simon moved into web based software development. He now builds web applications that work on any device.

Languages, frameworks, and tools used:

Server side RESTful API's built with:
Slim, OAuth, UUID, composer, bower, npm, node.js, PHP or .NET/C#

MS SQL Server or MySQL.

Client side:
AngularJS, JavaScript, HTML5, CSS3, Bootstrap CSS, jQuery, and more.

JavaScript XMLHttpRequest's with JSON data format over SSL using Bearer Authorization.


"My experience having the privilege to work with Simon was the best in my career. Simon was able to turn a near disastrous accounting software situation around on a dime and started from scratch. What another company couldn't do in almost a year of customization was abandoned and Simon had the company on track in 2 weeks. Not only is he a highly skilled programmer but he has the advantage of being a CA and understanding what is required to have controls in place to provide the tools to make a company profitable. He can provide what you need in a very streamlined fashion understanding various stakeholders' needs.

"He is personable and willing to deal with and instruct individuals at every level of the organization. There are lots of companies willing to attempt to deliver some semblance of what you may need for big bucks with no guarantees but i have no doubt Simon will get you the tool you need in a timely manner and with ongoing support. "

C­ar­ol­a Da­ib­er BSc, MBA, CMA


"Our firm has enjoyed working with Simon and feels that he has not only added value but will be a valuable asset to our team now and into the future!"

Patrick Fitzgerald
Owner Lifelong Financial Solutions Inc


"Simon is the consummate professional who always strives to provide the highest level of service to his clients. He is an excellent problem solver with an innovative approach to providing solutions."

Howard Whiting
Partner BAASS Business Solutions LLP



General Ledger

Start with reports designed for Fortune 500 executives, including: sophisticated income statements, balance sheet, and cash flow reports filtered by location, job, department, fund, or any other grouping you need, then customize for your needs.

Oh and of course, drill-down through detailed reports to source documents.

Accounts Receivable

Get a great receivables solution, then add custom invoicing.

Example (not shown for confidentiality):
A client contacted us requesting a custom invoice for cars sold at auction. Requirements included an API to confirm VIN’s. The results helped the company grow over 800% without adding any invoicing staff.

Accounts Payable

Enter expenses, print cheques, and monitor payables, what more to you need?

Generate cheque batches directly from the aging report.

Or allocations? Example: we built a custom allocation tool for a not-for-profit to quickly allocate each expense invoice across numerous funds.

Order Check Stock » order stock


  • Import bank statements and match them to existing bank entries or unpaid invoices or generate journal entries to record expenses or sales
  • Use blank check stock to save money and increase security (not available with any other cloud accounting software) » order stock
  • Reconcile journal entries posted to your bank accounts.


  • Complete sales tax tracking, reporting and filing
  • Tax options include : Cash Basis, Accrual or Due Date
  • Use Taxes Included to record sales and expenses when prices include taxes

Try Bean Cruncher Now!

Submit your email address to receive login credentials for our demo account.

© 2018 Bean Cruncher Software Inc.
Established in 2011
1 (800) 421-3413
• Contact Us •
Privacy PolicyTerms of Use