Hi Everyone,

The purpose of this post is to help you understand the value of iDempiere’s and ADempiere’s Pay From (isPayFrom) field. For most people, this field adds little value. If you want to ignore this field, just make sure it always equals the value of isBillTo (Invoice Address). See the bottom of this post for instructions on how.

Here is the scenario where isPayFrom would benefit you:

  • You are in the AR department. This is an AR related field. (reference)
  • You have a large customer where the location that receives invoices is different than the address that prints checks or processes payments.
  • You need to communicate directly with the check processing location.

First, let’s look at the field’s definition.

  • IsPayFrom Description: Business Partner pays from that address and we’ll send dunning letters there.
  • IsPayFrom Help: If the Pay-From Address is selected, this location is the address the Business Partner pays from and where dunning letters will be sent to.

These definitions lead me to believe the field is related to AR; However, many of the below references relate to !isSOTrx (AP). This leads me to believe there are errors in the code.

Here are a couple of technical details relating to isPayFrom:

  1. The isPayFrom field does not appear in any ADempiere or iDempiere views.
  2. It does not appear in any of the sources listed in the reference search. The sources include: Column SQL, Column Default Logic, Column Read Only Logic, Field Default Logic, Field Display Logic, Reference Where Clause, or Validation Rule.
  3. setIsPayFrom() is only referenced by MBPartnerLocation’s constructor. Therefore, no other classes set this field.
  4. X_C_BPartner_Location.isPayFrom() is referenced in two places. See ‘isPayFrom Reference Search’ image below. The first reference is when programmatically creating an AP invoice. This reference does not seem to be correct according to the above definitions. The second reference is when setting the Dunning’s address. The Dunning reference does seem to be correct.
  5. If you perform a text search on ‘isPayFrom’, there are three references. Two of these references appear in SQL when importing AP invoices. The AP references do not seem correct according to the above definitions.
  6. The text search actually returned 83 results; however, all but the above comments relate to database files, and are of no consequence to its usage.

Image: isPayfrom Reference Search

isPayFrom Code References


Image: isPayfrom Text Search

isPayFrom Code Search-resized-600

If you want to keep the isPayFrom (Pay From) and isBillTo (Invoice Address) to always equal, you have two options:

  1. Modify the MBPartnerLocation.BeforeSave() method to make sure the isPayFrom field always equals isBillTo (Invoice Address).
  2. Create a scheduled process in the Scheduler window that calls on a very simple database function that issues a SQL update statement for all locations.

The first option would be considered better by most, but it requires that you can build and release code. The second option is available through simple configuration, and it is equally as accurate.

If you believe I am missing something, please let me know by emailing me or adding your comments below. I would very much appreciate the feedback.

I hope this helps!!!

Why consider Open Source ERP

Open source ERP gives you every opportunity to prove or disprove its ability to support your company’s ERP needs on a timeline that satisfies your organizational needs. With open source ERP, you do not face the same financial constraints nor do you face the same conflicts of interest as with commercial ERP. Instead, you invest in the appropriate skills and knowledge for your people and processes. Best of all – if open source ERP cannot solve your company’s needs, you can safely justify spending the additional $2K to $5K per person per year for life of your commercial ERP to help drive your organization’s success.

ADempiere vs iDempiere vs Openbravo vs Compiere

The ADempiere, iDempiere, Openbravo and Compiere environments are amazingly similar. iDempiere came from ADempiere. ADempiere and Openbravo came from Compiere. Compiere came from Jorg Janke. Jorg came from Oracle. As a result, iDempiere and ADempiere have much in common with Oracle’s ERP in terms of the financial feature set.

This is both good and bad. Good because iDempiere and ADempiere are quite capable to help a company grow beyond $500M USD. Bad because they tend to be more complex in that they account for multiple languages, accounting schemas, currencies, calendars, costing types, costing methods, etc…. If you are a growing organization, and you need a system that will grow with you, and you have the right internal talent/resources, iDempiere or ADempiere will be a big asset for you.

The biggest difference between these products is that ADempiere and iDempiere are pure open source. ADempiere and iDempiere make all feature available for free. Compiere and Openbravo hold back features behind a commercial or paid license.

iDempiere and ADempiere vs OpenERP:

iDempiere/ADempiere (iD/AD) and OpenERP approach ERP from two very different directions. OpenERP comes out of the box with very simple options. If you are coming from QuickBooks, and you need a simple ERP system help you manage your business, OpenERP will look and feel comfortable.

iD/AD comes out of the box with every feature installed and configured to run a $200M+ USD business. If your business is growing rapidly, and you are willing to invest the time to learn an enterprise accounting system, then iD/AD will give you confidence.

Which one is best for you depends on your internal talent, growth and business complexity. Here is a post to help you learn more.


One thought on “iDempiere and ADempiere – BP Location Pay From or IsPayFrom Field

Leave a Reply

Your email address will not be published. Required fields are marked *