Site Installation

From PERPWiki

Jump to: navigation, search

The following steps should get you a working pERP:

Contents

Install and set up eGroupWare

Read through these instructions if you don't have an existing eGroupWare installation. This guide only deals with the pERP aspects of installation and setup, and assumes you get a working eGroupWare somewhere along the way.

Download pERP

There are three ways to get pERP, depending on what you want to do with it. These instructions are for Linux, so if you're running Windows, adjust as needed.

Normal People

Download the latest version from https://sourceforge.net/project/showfiles.php?group_id=166007, unpack and install.

$ tar zxf pERP-<version>.tar.gz
$ cd pERP-<version>
$ ./install.sh
Skip to Install

eGroupWare + pERP SVN

pERP has an alias set up for eGroupWare + pERP $ svn co https://perp.svn.sourceforge.net/svnroot/perp/aliases . Due to the limitations of SVN, you'll wind up with ./default/egroupware/<good stuff>, so you may want to move things back up the tree. Have a look in install.sh, there may be some things that need linking into eGroupWare directories.

pERP SVN

You can use SVN to get pERP into your current eGroupWare [SVN] directory.

From your eGroupWare root directory:

$ svn co https://perp.svn.sourceforge.net/svnroot/perp/trunk perp

You need the perp subdirectory instead of . because SVN doesn't like to mix and match. If you're not using eGroupWare SVN, it's probably not needed. That will download the latest and greatest code to ./perp/, so there's an install script to get everything in the right place.

Install pERP

'

pERP assumes a default setup, where the Admins group has an account_id of -2. If your admin group has been changed, edit setup/default_records.inc.php in each perp_* directory and change the admin group variable as appropriate.
This will allow your admin group full access to pERP to set it up.

  1. Go to your egroupware setup page
  2. Under Step 5, click "Manage Applications"
  3. Install all the perp_* modules


Note: perp_human_resources generates an error when installing:

CreateIndexSql('perp_staff_authentication_data','perp_staff_authentication','authentication_data',Array ( [0] => UNIQUE ) ) sql=Array ( [0] => ALTER TABLE perp_staff_authentication ADD UNIQUE INDEX perp_staff_authentication_data (authentication_data) ) BLOB/TEXT column 'authentication_data' used in key specification without a key length

This is a known error that doesn't cause any problems. It can be safely ignored, and will be fixed as time permits.

Setup pERP

The setup of pERP will probably take several hours, and that's if you have all the information on hand. Follow this guide from top to bottom, without skipping sections. When you get to the bottom, your site should be ready to go.

If you notice any discrepancies, please report them so this guide can be improved.

Reports

pERP has a very pretty, potentially customizable system for generating reports using Open Office templates. To get them working:

  1. Click Admin->pERP->Find and register all pERP reports
  2. Set the default output format for your users in Preferences -> pERP -> Preferences.
  3. Set the users allowed to access each report when you set up the rest of the ACLs, below.

Groups and Users

If this is a new eGroupWare installation, you should add the following group structure, or an equivalent:

  • Staff
    • Admins
    • Accounting
    • Managers
    • Purchasing
    • Production
    • Sales
    • Customer Service
  • Clients


Some of these groups are used by pERP for various things, the rest will help you keep the permissions easier to deal with. You can assign your minimum permissions to Staff, then add per-department permissions on top of that.

If this is not a new eGroupWare installation, you should probably have an equivalent group structure anyway. Failing that, at least have the groups themselves.

Minimum Data

There is some minimum data that needs to be set up before pERP will do much of anything. Below is the list, and the approximate order in which it should be entered. Generally, go through the Admin section from top to bottom and visit each item. Site Configuration and Configure Access Permissions should be done afterwards are dealt with below.

Do not try to jump around, or skip parts because you don't understand them. Do not try out parts before you are done setting things up. They probably won't work, and you will get confused and frusterated. This will probably take at least 2-3 hours, if you have all the information you need at hand. It will take much longer if you don't, and have to get it from other people. A relatively small manufacturer, without all the information available, took more than a month to enter correctly.

  • pERP
    • Units of Measure
    • Shippers
    • Currencies
    • Payment Terms
    • Payment Type
    • Taxes
  • General Ledger
    • sequences
    • account sections
    • account groups
    • accounts
    • bank accounts
    • transaction types
  • Accounts Payable
    • Suppliers
      • Supplier catalog
  • Inventory
    • Stock Categories
    • Stock Items
    • Locations
      • Stock On Hand General Ledger accounts
      • Work Centers (Work in Progress General Ledger accounts)
  • Manufacturing
    • Build Options
    • Bill of Materials
  • Inventory
    • Stock Items
      • Bill of Materials
      • Build Options
  • Sales Orders
    • Sales Areas
    • Sales Types
    • Sales Categories
    • Price Lists
  • Accounts Receivable
    • Hold Reasons
    • Customer information
      • Accounts
      • Physical Branches or outlets
      • Pricing, per client discounts

Site Configuration

Most of the Site Configuration should be fairly self explanatory, but many drop downs will be empty until after the minimum data has been entered. "... Narrative" and "... Number Format" use sprintf to include the fields as detailed, so any sprintf options are valid.

Configure Access Permissions

Almost as important as entering the minimum data is configuring the access permissions. The first step is to give users access to the applications they need, through the Admin -> user group (or account) section. A user does not need to be able to run an application to use the information in it. That access is controlled by the ACLs.

ACLs in pERP are per-section, with the idea that if a user doesn't have a certain access to something, they shouldn't know that they don't have that access. As an example, if a user doesn't have read access to the stock list, they will never see the Inventory -> Stock icon. Caution is required though, because that user will not be able to work with Bill of Materials, Options, or Work Orders and will have trouble with shipments, sales orders, price lists, etc.

Recommended minimum permissions for all Staff (Staff Group)

R = Read, A = Add, E = Edit, D = Delete

pERP

Read (R) on everything except acl

General Ledger

account - R
account_group - R
ledger - A
transaction_type - R

Accounts Payable

catalog - R
purchase_order - RAE
supplier - R

Inventory

Read (R) on everything except acl and production

Accounts Receivable

client - R
client_branch - R

Sales

Nothing required

Of course, adjust the above as required by your organization, but be aware of the possiblility of information being missing when it is used by other modules.

Training

Your new users will need to be trained on how to use pERP. This is a very important step, as this is where you affect the user's perception of the new system. You may want to consider mirroring your newly set up pERP system for training / testing.

-- Training Recommendations or link here --

Personal tools