My Blogs

Trifon's Paid Services

ADempiere Technical Support

This support consists of answering questions and providing advices.
Unlimited number of questions.
Technical support is available monthly or in chunks of 6 and 12 months from the Adempiere developer, Trifon Trifonov.
For the duration, you can ask Trifon direct questions via a special support mailing address.
Contact is email-only and replies are sent within one business day, often within hours.

Paid On-Site ADempiere User training(1 week)

1500 EUR per week + ticket + hotel

Training plan customized to fit client needs.

Example training plan:

01) General overview of ADempiere ERP-CRM system.
02) Introduction to user interface.
03) How to setup new Company in ADempiere.
04) How to setup new Organization in ADempiere.
05) How to create and import Chart of Accounts. Introduction to ADempiere Chart of Accounts Editor.
06) How to create new Product, Product Category and set Product Price and Price List.
07) How to create hierarchical Categories of Services and Products (categories, subcategories, etc)
08) How to import Products from external sources/systems.
09) How to create Discount Schema and Price List and apply specific discount/overcharge for specific Product Group/Product, e.t.c. How to create Discount based on a percent or fixed amount.
10) How to create new Business Partner(Client, Vendor and Employee).
11) How set credit limit for Business Partners. Apply a credit limit to a client and ADempiere lock sales when limit is reached.
12) How to assign discount to specific Business Partner, and change it in every sell.
13) How to import Business Partners from external sources/systems.
14) How to create Purchase Order.
15) How to track purchases: list purchases that are not received, due dates.
15) How to create Material Receipt.
16) How to create Invoice (Vendor)
17) How to enter Landed Costs.
18) How to create Sales Order.
19) How to create Shipment (Customer).
20) How to create Shipment Confirmation.
21) How to create Invoice (Customer).
22) how to enter RMA.
23) How to create Payment.
24) How to match Purchase Order - Material Receipt - Invoice (Vendor).
25) How to match Sales Order - Shipment - Invoice (Customer).
26) How to create Cash Payment and Cash Receipt.
27) How to create Bank Account and Bank transaction.
28) How to modify Print Format of documents.
29) How to setup emails of ADempiere users and send emails with attached document(Purchase Order, Invoice, e.t.c) to clients.
30) How to create Users and assign User permissions.
31) How to setup Window, Tab and Field permissions for specific Roles and Users.
32) How to share data between Organizations and users.
33) How to setup records to be readable only by their creators.
34) How to setup taxes.

Paid on site Adempiere Developer training

1500 EUR per week + ticket + hotel

Training plan customized to fit client needs.

Example training plan:

01) Overview of Adempiere setup in Eclipse.
02) Layers in adempiere and where clases are located in the source tree?
2.1) Model (Domain) layer.
2.2) Business logic layer.
2.3) GUI - Swing layer.
2.4) GUI - Web layer.
03) How to add new table and columns in Adempiere?
04) How to generate Adempiere model classes for the newly created table?
05) How to add validation, pre-pressing and post-processing logic for the new table?
(beforeSave, afterSave, beforeDelete afterDelete)
ModelValidator
06) How to add new Window, Tab and Fields?
06.1) How to add new Tab which has Tree?
06.2) How to add Translation Tab?
07) How to add GUI callout?
08) How to define new Document in Adempiere?
09) How to add business logic for the newly created document?
10) How to add Process in Adempiere?
11) How to add java code for the newly defined process?

Paid Adempiere development

300 EURO / day

Please call for discount if you plan to book more than 150 hours

Paid EDI @ ADempiere support and training

If you need training or support for EDI in Adempiere, please do not hesitate to contact me.

Issues found

Posterita WP POS expect that TAX Category has only one Tax Rate assigned to it.

Posterita create AR Invoice while POS Order type in Adempiere creates Invoice Indirect. This allows to distinguish Invoices creates by POS. Of course Business partner also can allow sot distinguish POS invoices, but more consitent behavior is to create Invoice Indirect.

-01) Login as System Admin and add new window for the table "U_POSTerminal".
-02) Use the "Create Fields" button on the "Tab" tab to add all the fields of this table.
-03) Go to System Admin->Gerenral Rules->System Rules->Menu window and create a new menu item.
-04) Select Window as the Action and point it to the new window you just created (by selecting it in the window dropdown).
-05) Log out and log back in as Garden Admin.
-06) Using you new window create a new POS terminal. Chose what ever you wish for the settings.
-07) Go to Quote-to-Invoice->Sales Orders->Web POS->
-08) Go to the role menu here and create a new record with "Web Menu"=smenu.cash.sales and "Role" = "GardenWorld Admin".
Uou can add more if you wish but I think this is all that's needed for basic sales.

Seats/tables in a restaurant (or plane or cinema)

In my opinion the seat/table numbering problematic could be solved with the help of the entities AccommodationClass, AccommodationMap described in the book vol2. I will give you a short description of these entities and example of the "numbering issue" solution.

AccommodationClass - definition (based on the book but modified a little)
fields: accClassId, parentAccClassId, description

AccommodationMap - description:
Its idea is to provide information of the number of spaces offered by a fa/accClass. Here we can extend it to provide overbooking information and seat numbering information(the last two fields in the definition below)
fields: mapId, accClassId, faId, nrOfSpaces, overBooked, number

Example:
Define two tables.

- Table number 5 has 3 chairs. Chair with number 1 is baby_chair. The other two chairs with number 2 and 3 are high_chairs.
- Table number 9 has 2 chairs. Chairs number 1 and 2 are normal_chairs.

In similar fashion you can define theaters, planes etc.
Also overbooking data could be kept in the AccommodationMap entity which could be used for hotel reservations. Hourly reservations could be enabled as well with the introduction of the AccommodationSpot entity.

You can see to the left a grid whith the LIST mode of the PUPILS and the FIRST field is the ACTION to apply to the records. The A action (Detail of subjects of this pupil) is selected for the first pupil and the B action (Printing of his curriculum) is selected for the second pupil.

The actions possible are detailed in the combo on the TOP RIGHT of the window. Options 1 to 5 are standard (always available by default). The rest of actions are specific to the model .

Finally there is a button for executing ALL the actions at the same time.

The default actions are:

1.-Pick: For instance to select a Customer for a invoice. By using this action you choose your customer and return to previous model (invoice)

2.- Edit: To modifiy the record

3.- Copy: To create a new record but previously copying the information of an existing record that is very similar to the new one

4.- Delete: to delete the record

5.- See: To see the record in detail mode and READ ONLY

DB change/migration tracking

Liquibase

Liquibase Questions and Hints

Hint.1 How to update data?

Is there any way to update a row that already exists in a table (besides using <sql>)?

Currently there is not.
I have considered creating an update tag but have not yet.
The main reason I did not create it originally is that it seemed to not add a lot of value over the standard <sql> update statement and created a lot of typing.

Fork developers work in their free time! Excuse Me???

Can you belive? I work for free? Please do not tell it to my wife... This is top secret.

sf.net post It looks that this post was deleted from Compiere forums. Compiere Inc. do not like what friends of Compiere think??? Just to prove that such post exist i posted whole post here

Having been in the ERP game for a very long time, I just find the bazaar a bit too risky for real life scenario and most of the clever developers involved are doing out of free time. I honestly dont even have free time to write this email, but I guess some people have more free time than others. So what people do in their free times is entirely up to them? The product is becoming massive yes, and to expect the couple of clever developers to maintain it within their "free" time would be EXTREMELY risky for any enterprise to put reliance on. Yes it may be more clever and even more transparent and yes many more extremely clever things will be released out of it. Question though is who is going to maintain it in their free time over the next couple of years and who actually needs to get paid to support it.