Here I will be mentioning the top ERP open source applications.
Openbravo, the agile ERP, is a modular, ready to use, 100% web-based open source and free business management system written in Java, that automates all of the core business processes for small and mid-sized companies. This makes an appealing alternative to SMEs. Openbravo is built on proven MVC & MDD framework that facilitate customization & maintenance of code. Openbravo already enjoys a growing customer clientele.
a) Application Dictionary: Use the Application Dictionary Module to customize, modify, and adapt the application to your needs.
b) General Setup: Use General Setup Module to edit basic settings such as languages, currencies, menus, workflows, alerts, clients, roles, users, organizations, banks, and importing data.
c) Master Data Management: Use Master Data Management Module to define and edit information related to business partners, prices, and products.
d) Procurement Management: Use Procurement Management Module to manage requisitions, purchases, goods receipts, invoices, and analyze related reports.
e) Warehouse Management: Use Warehouse Management Module to create and edit warehouses, and manage inventory.
f) Production Management: Use production Management Module to create and edit your production processes, production control, and analyze related data.
g) Materials Requirement Planning (MRP): Use the Materials Requirement Planning Module to edit your production planning, inventory control, and purchasing activities.
h) Sales Management: Use Sales Management Module to create and edit sales orders, goods shipments, invoices, commissions, and analyze related reports.
i) Project & Service Management: Use Project & Service Management Module to create and edit services, projects, analyze related reports, and add employee expenses.
j) Financial Management: Use Financial Management Module to create and edit accounting, assets, and receivables and payables.
1.2) Pros & Cons.
a. It includes necessary functionality for complex retail management process,
b. It allows for integration with Point of Sale equipment (barcode system, touch screens, fiscal printers, card readers etc.), which improves sale process,
c. Dynamic development – your software will always follow the current business trends due to free access to the latest updates,
d. Simple, intuitive and aesthetic graphic interface – you and your employees will not have any difficulties in getting familiar and using the software during your daily tasks,
e. Compatibility with Windows and free operation system Linux,
f. Detailed documentation – it allows for extending the system by any programmer, who is familiar with Java technologies,
j. Scalability – the system does not lose efficiency, even when its complexity grows.
a. The support system and documentation are inadequate.
b. Some users complain that the system crashes a lot.
c. Limited customization possible.
When it comes to open source ERP software built on PHP, Dolibarr is a competitive and modern product with an active community of users. Dolibarr is completely free, and it can be used as a standalone program from any computer or server, or it can be used online through a dedicated or virtual private server.
Documentation for the software can be found on a wiki website that is frequently updated by both developers and veteran users. Although the base program is free, many users opt to purchase additional modules and plugins from the Dolibarr store. Some of the most popular plugins are for project management, digital documentation, pricing tables and telephone management.
a) Products and services catalog
b) Stock management
c) Bank accounts management
d) Customers, Suppliers or Prospects directory
e) Contacts directory
f) Commercial actions management
g) Orders management with PDF generator
h) Commercial proposals management with PDF generator
i) Contracts management
j) Invoices management with PDF generator
k) Payments management
l) Standing orders management
m) Shipping management
n) Foundations members management
o) Bookmarks management
r) Point of Sale
s) Donations management
u) Data export tools
v) LDAP connectivity
2.2) Pros & Cons
A very capable software with features capable of running a medium company. Well designed so that the basic user is able to install and use it
To make maximum use of it’s potential you must know a bit of server configurations
Although webERP is a powerful enterprise system, the developers admit that it is best suited for manufacturers, distributors and wholesalers. Retail businesses looking for a complete system have to combine webERP with third-party POS software.
Small and medium-sized organizations will find webERP to be surprisingly simple yet very effective, but it is not powerful enough to handle the needs of large businesses. A demo is offered for a quick overview of the system, and full downloads are available through Sourceforge.
- Entirely web-based
- Runs on any web-server that can accommodate PHP – can use an ISP instead of having/maintaining own server
- Produces reports to Portable Document Format – PDF for accurate positioning of text
- All reports and scripts easily modifiable PHP text
- All processing on the server and no installation required on client machines
- Users can be defined with access to only certain options using a role based model
- Options applicable to certain roles can be graphically configured and users defined as fulfilling a given role.
- Incorrect entry of password (more than 3 times) blocks the account until reset by the System Administrator. This prevents password crackers from breaking the security.
- Pages can be encrypted using SSL and webERP can be configured to only display pages using SSL to ensure that all information passing over the internet is encrypted.
- Users can be defined to see only certain modules on the main menu – so menu options that they will not have access to are not even displayed on screen.
- HTTP security can be configured over the top of the inbuilt security to provide two levels of security – the first to access the web-server at all and the second to actually get into webERP
- An audit trail of which users did what is retained and is automatically maintained based on how long the information is required to be kept
- All inputs are sanitized to prevent SQL injections and cross site scripting.
c) Sales and Orders
- Quotations can be entered and printed as quotations then changed to an order if the customer accepts without re-entering
- Customer orders can be entered and maintained and referenced back to the customers order number.
- The cumulative quantity on order for a stock item shows as a demand in stock status inquiries.
- The cumulative quantity on order for assembly items shows the demand against its components in the stock status inquiries.
- The quantity of the order left to invoice is maintained and updated for invoices and credit notes raised against the order.
- The orders entered can be invoiced directly with little or no additional input.
- Multiple dispatches are possible from a single order. Order retains references to each dispatch.
- Differences from the order are logged when dispatches are not the same as the ordered quantities for reporting delivery in full on time.
- Pricing automatically returned based on the customer sales type, branch and currency.
- Pricing can be set to be effective from specific dates and to finish on a final date
- Pricing is by currency
- Any number of price lists can be maintained. Customers are defined to get their pricing from a specific price list. However, special prices can be defined as an exception for a given customer or even a particular branch of a customer
- Quantity break discounts across a range of products are automatically calculated based on a discount matrix.
- Packing slips printable on laser or pre-printed stationery.
- User selectable inventory location to pick from.
- Automatic freight calculations based on shipping method and delivery address. Orders calculate weight and cubic based on item unit weight and cubic.
- Free form entry of delivery addresses defaulting to the customer branch physical address.
- Automatically recurring orders can be entered and if the orders are for “service items” the order can also be automatically invoiced.
- Daily sales reports and ad-hoc sales graphs
- Delivery In Full On Time reporting
- Tax rates dependent on the type of product – using tax categories
- Tax rates dependent on the location of the warehouse dispatched from
- Tax rates dependent on the location of the customer
- Multiple taxes payable to different tax authorities
- Each tax posted to different user-definable general ledger accounts – if linked to AR/AP
e) Accounts Receivable
- Overdue inquiry that takes into account delivery days to the customer’s branch and the actual (user definable) payment terms applicable to the customer, supported by detailed inquiry of actual invoices overdue.
- Full on-screen inquiry on a customer’s account, complete with invoice details and narrative which appeared on the invoice. Drill down to source document invoice or credit note.
- Invoice can be emailed to customers together with pdf attachments dependent on items invoices eg. warranty, datasheets, instructions, manuals etc.
- Inquiries on payments received will show how a payment was allocated to invoices and the difference on exchange attributable to each invoice.
- Full integration with stock records and general ledger – a full trail of journals for each transaction is maintained a drill down to the general ledger transactions for each transaction on a customers account is available from the customer inquiry page.
- Flexible general ledger postings for sales and if required as well cost of sales based on sales area and product category. General ledger integration is optional.
- Open item – full analysis of the outstanding balance is maintained and printed on statements for maximum information to the customer.
- Statements can show transactions settled this month or only outstanding transactions as at the date of printing.
- Flexible user definable sales analysis reports to pdf or spreadsheet (csv comma separated values). Report definitions can be saved for re-running or automating email delivery from a scheduled job.
- Retrospective de-allocation and re-allocation of receipts or credit notes agains charges with re-calculation of differences on exchange and corresponding general ledger journals.
- Any number of branch delivery addresses can be added serviced by different sales people with different tax authorities and different areas for sales analysis purposes.
- Unlimited accounts and unlimited number of branches (ship to addresses) for each account.
- Shipping method updated by branch.
- Customer accounts can be in any currency. Individual rate for each invoice, default to currency table rate.
- Currency table can be set to be automatically updated daily from European central bank published rates.
- Invoices and credit notes created in pdf.
- Email of invoices and credit notes.
- Credit notes can be produced from one click taking the details of a selected invoice for subsequent modification.
- Transaction inquiries show sequence of invoices, credit notes and receipts entered.
- Option to produce integrated google maps of customer locations (and suppliers)
- Unlimited number of warehouses (stocking locations), stock quantities are maintained for an unlimited number of locations.
- Selling prices for a stock item can be set for each sales type defined in any (and all) currency (ies) allowing great pricing flexibility. Pricing can also be set specific to an individual customer account or even a specific customer branch.
- Automatic back ordering. Sales orders yet to be delivered can be automatically back ordered at the time of invoicing or the balance of the order canceled as appropriate.
- A history of stock movements is maintained by stock item allowing full traceability including serialised and lot/batch numbered stock items.
- Allows Dummy (service) stock items which can be invoiced, priced, costed but with no stock record maintained for items such as labour or services.
- Kit-set parts can be defined. An order for a kit-set part explodes into the components defined for the parts at the predefined quantities as extended by the number of the kitset item ordered all priced individually. These component quantities are then available on the order for modification by the user.
- Assembly parts can be defined in a similar way to kitsets. These parts exist only for ordering, pricing, invoicing and sales analysis. No stock balance is maintained, instead the quantities of the components are updated in proportion to the quantity defined in the assembly.
- Invoice and credit note inquiries are linked to stock movements so the detail of items sold on an invoice can be queried calling up the actual invoice or credit note that caused the stock movement.
- Standard cost manually maintained or automatically maintained weighted average cost.
- Inventory usage by month inquiry by location and over all locations.
- Inventory planning report showing the last 4 months and the current months sales including sales of assembly components.
- Receiving inventory against purchase orders creates journals in the general ledger to reflect the increase in stock value and the amount owing to a supplier.
- Stock transfers to other inventory locations can raise transfer dockets.
- Re-order quantities can be maintained.
- Inventory adjustments can create general ledger entries to reflect write on or off of stock value.
- Inventory cost changes can create general ledger entries to reflect write on or off of stock value.
- A stock taking system allows business to continue recording system stock quantities at the time of counting adjustments created based on these quantities and the sum of all quantities entered as counted for the item. General ledger integration creates the necessary journals to reflect the changes to stock values.
- Controlled items allow referencing of each stock movement to the bundles/batch references.
- Serialiased inventory allows controlled items to be in units of one. Ie a reference for each individual item.
- Unlimited user defined fields specific to each inventory category for additional important information required to be stored against items
- Weighted Average (automatic) or standard (manually maintained) costing
- Purchase orders and suppliers can be in any currency.
- Supplier item descriptions and pricing (in the currency of the supplier) for purchased items can be maintained. Purchase orders automatically use these prices. The same item can be purchased from many different suppliers.
- Quantities on order show on inventory status inquiries by inventory location to receive into. Quantities on order also show on planning reports.
- Goods received can be entered up to the purchase order quantity plus a user definable percentage allowance for over delivery.
- Goods received are sequenced as a GRN and a record is retained for every stock movement referenced to the GRN.
- Purchase orders record the quantity received and the quantity invoiced as well as the original quantity ordered.
- Purchase orders can be emailed to one of the defined supplier contacts email addresses.
- Inventory planning report can be produced based on a 3 or 4 month lead time showing suggested quantities to purchase based on the maximum of the prior 5 months usage.
- Purchase orders can be entered for nominal items i.e. non-stock items with a general ledger code to be entered to specify how the general ledger integration postings should be made.
- Purchase order approval levels and authorities can be defined. With all approvals required by an authoriser easily accessible for authorization.
- Shipment costing can be set up across several purchase orders from the same supplier choosing only those lines that have been dispatched together. Costs entered against these lines and against the shipment (from AP) are apportioned across all lines. Shipment costing allows for automatic updating of standard or weighted average costs on closing shipments.
Supplier units and purchasing prices can be maintained with a preferred supplier for each item. Orders can be entered referring to the supplier’s item code and description and in the suppliers unit, converting to the business units for all internal purposes.
h) Accounts Payable
- Suppliers can be defined in any currency.
- Invoices can be entered against goods received with a user definable allowance for over invoicing. Thus ensuring payment is only made for goods received.
- Invoices can be entered as a cost of a shipment for apportionment between the items on the shipment.
- An aged listing of balances is available as a pdf showing either summary balances or the detail invoice by invoice of the balance of the account.
- Retrospective allocation or de-allocation of payments to invoices. With differences on exchange reported.
- Supplier invoices cannot be entered with the same reference as prior invoices.
- Supplier invoices/credits can be entered against the internal record of goods received from the supplier. Providing an internal check to ensure only those goods received are paid for.
- Supplier invoices for freight/duty etc can be charged against shipments from other suppliers.
- Supplier invoices can be entered directly against multiple general ledger codings.
- Inquiry on Suppliers account shows all transactions.
- Fully integrated general ledger postings keeps the creditors control account in line with the supplier balances in local currency.
- Payment run creates payment transactions based on payment of all due invoices not flagged as held.
- A petty cash expense reimbursement module is available for sales people to enter their claims
As many bank accounts as required can be set up details and account number can be held against the bank account definition.
Bank accounts can be any currency and payments/receipts can be paid in any currency from any bank account.
Transfers between accounts are automatically detected by entry of payment to another bank account or receipt.
Bank transaction matching to bank statements show outstanding payments/receipts only or all depending on selections.
Online reconciliation statement based on matched and all entered transactions.
Calculation and posting to GL of unrealized exchange differences in foreign currency bank account balances
j) General Ledger
Automatically maintained periods, reporting over any range of periods with no rollover procedure at period end.
Balance Sheet and Profit and Loss Statements
Reporting against budget
Inquiry on any account over any period.
Posting journals into any number of periods ahead or periods before.
Automatic posting no separate process to run to post general ledger transactions.
Extensive narrative on journals created by sub-ledgers (AP/AR).
Accounts can be grouped using relational methods ie flagged as a member of user definable account groups – rather than the old chart of accounts numbering structure.
Account groups can be nested so hierarchical structures can be accommodated – detailed profit and loss, balance sheet and trial balance all use account group structures to display reports.
Posting to prior periods can be disabled based on transaction date to prevent prior periods being changed.
Multi-level bill of materials – with error trapping to prevent recursive BOMs.
Phantom bills – automatically explode into components when a parent work order is created.
Automatic cost rolls ups on change of BOM or component costs.
Works orders can have multiple output items for handling by-products.
Optional automatic backflushing or auto-issue of components.
Issues to works orders and receipts of finished goods from work orders integrated to inventory and GL.
Issue of labour and time or other services to works order.
Work order costing – automatic weighted average cost updates (or manual standard costing updates).
Usage variances reported to GL – inventory category record determines GL accounts.
Demand for components of work orders shows in stock status inquiries.
Full MRP – Material Requirements Planning with master production schedule/forecast maintenance and creation facilities. Fast full recursive calculation of MRP – (note that capacity requirements planning and MRP II functionality is NOT currently available in webERP).
i) Contract Costing
- Job costings can be created for a selected customer using stock and other requirements. These can be converted into a quotation and if the quotation is accepted a sales order/work order.
- Issuing stock to the job is handled like any other work order until the contract/job is invoiced
- Full report on contract/job variances from quoted costs
j) Fixed Assets
- Asset additions through purchase orders or supplier invoice entry directly.
- Disposals of fixed assets through normal sales order entry – asset to be disposed can be selected for sale.
- Fixed Asset register covers a period showing additions, depreciation and disposals for that period.
- Integrated GL entries created based on asset category GL codes if creditors and debtors are linked to GL.
3.2) Pros & Cons.
- Open source, GPL’d and an active developer community
- It is easy to customize
- Provides full double entry accounting
- Has solid modules that handle General Ledger,Sales & Order, Accounts Receivable, Accounts Payable, Purchasing, Inventory, Bank and reconciliations
- Has additional features such as an Asset management module, Petty Cash, Contract Management
- Provides HTML or PDF reporting
- Multi-language support and fully UTF-8 compliant
- Has inbult auditing trail, and roles based security system with configurable page access per role
- Easy custom reporting defined and run from the web interface
- Manufacturing and with Material Requirements Planning
The features relating to Project and Task Management are not present.
This app truly and totally depends on having a warehouse, and there’s no way to configure that away. It’s great if you have a warehouse, but it’s not geared towards companies , that have no physical assets to manage.
There is no template system leading to the usual problems and frustrations that occur when one has to program the user output rather than template it. There is a theme ‘system’ that allows simple css theming or skinning of the existing module functions.
The program design is somewhat unusual these days. It is procedural with multiple scripts in the web root directory. While it took me some time to come to terms with this, I’ve learned to live with it for the moment, and can be somewhat placated knowing there is a solid security system in place.