Invoice Item Type

2019-10-14 Thread james
Good Day.  We are trying to determine if Invoice Item Type can be used
for processing Amazon orders in Ofbiz.
Here is the scenario

Customer purchases product on amazon.com for a total of $100.
We process the order from amazon but we have to account for amazon fees
of $15
So we want to show the order subtotal of $100 Amazon fees as new invoice
item type of -$15 (similar to how discounts work)
Total Order is $85.

When Amazon sends us the payment it will be for $85 and we can process
the $85 to close out the invoice.

Question.  How can we add an additional invoice item type called Amazon
Fees?  How can we trigger it to be added on the sales order?

Thanks,

James


Re: Improve use of EntityAuditLog

2019-10-14 Thread Jacques Le Roux

Hi Pierre, Nicolas,

I totally agree: +1

Jacques

Le 14/10/2019 à 09:41, Nicolas Malin a écrit :

Hi Pierre,

On 07/10/2019 10:15, pierre.gaudin wrote:

Hi all,

OFBiz has an EntityAuditLog entity log system, which allows all changes to be recorded in a specific field of a table. This allows you to have a 
technical follow-up on what is recorded in a field. Following monitoring needs on a production environment at a customer's site, we have identified 
two limitations to the current implementation.


First, unlike logs that can be modified in production, it is not possible to modify the audit values of entities in production. It is therefore not 
possible to take advantage of the information provided by this entity to help detect production problems. To do this, it would be necessary to be 
able to activate and deactivate the audit of a field without having to redeploy or restart OFBiz. Currently the activation is done in the entity 
definition. The objective would be to be able to define it at another level in order to be able to modify the value dynamically.

We can use the same pattern use on cache system to define it.


Second, the entityauditlog entity is used to store functional data. We believe that this is a mistake and that the use of this entity must be 
purely technical. For this reason we propose to modify the current code in order to remove the use of the entity audit entity log in a functional way.


In my vision use entity audit log to detect some functional modification seems 
to be a bad hack to compensate bad functional design.

So +1 to quick out all functional analyze that exploits entity audit log

Nicolas



What do you think of that?


Thanks


Pierre GAUDIN






Re: Representing transport jobs in Ofbiz

2019-10-14 Thread Daniel Watford
Thanks Nicolas,

I hadn't looked much at WorkEffort yet as I had thought it mainly related
to manufacturing tasks. After your prompting I see it will likely help in
estimating the various costs for a Job (vehicle, fuel, ferry crossings,
tolls, etc) and I like the idea of building a service to convert WorkEffort
to invoices.

In the infrequent cases where different parties might be invoiced for parts
of the job - e.g. shipper covers costs of transport but consignee covers
customs charges - I would need to store there various reference numbers (PO
numbers) for when invoices are created. I see that PO numbers can be stored
on OrderItem.correspondingPoId.

Would it be appropriate to create multiple OrderItems where each OrderItem
represents once of the parties to eventually be invoiced? Or would this be
stretching the intent of an OrderItem too far and instead I should
introduce a new entity to capture this information - perhaps a
JobInvoiceParty entity with fields jobId, partyId, purchaseOrderRef?

Thanks,

Dan.

On Mon, 14 Oct 2019 at 08:22, Nicolas Malin 
wrote:

> Hello Daniel,
>
> As you describe your jobs, I would tend to use WorkEffort entity with sub
> workEffort for each sub invoicing part.
>
> When your functional schema is operational, detect what element trigger
> the invoicing and peraphs create your own service to convert your
> workEffort to invoice
>
> Nicolas
> On 13/10/2019 21:24, Daniel Watford wrote:
>
> Hello,
>
> A shipping company client of mine needs to replace their current
> operations management software. I would like to build a solution based on
> ofbiz, with a plugin designed to manage their operations.
>
> The company creates Jobs to represent orders/instructions from their
> customers. Each job can have a number of involved parties, including
> potentially multiple parties being invoiced for different parts of the job.
>
> The new plugin should be able to replicate the company's Jobs with the
> introduction of some Job related entities. Please see attached diagram.
>
> Eventually the operations software would need to generate invoices, email
> them to customers and post relevant information to accounting ledgers.
> Therefore I thought I would really need to link a Job with an Order.
>
> When reading the code behind OrderServices#createOrder I noticed that to
> create a SALES_ORDER it was necessary to include a productStoreId. It seems
> that if I try to make use of the existing createOrder method I will need to
> set up some other 'infrastructure' to make the company appear a bit more
> like an ecommerce environment.
>
> Is it appropriate for me to link Jobs to Orders in this way, or should I
> be keeping the two entities separate and find an alternative way to manage
> invoices?
>
> If appropriate to link Jobs to Orders, should I avoid using the existing
> OrderServices#createOrder method and just construct entities as needed for
> my plugin's needs, or should I create any entities createOrder might need
> (such as productId) to ensure Orders are constructed in a consistent manner
> for use in other parts of ofbiz?
>
> Any comments or suggestions greatly appreciated.
>
> Many thanks,
>
> Dan.
> [image: image.png]
>
> --
> Daniel Watford
>
>

-- 
Daniel Watford


Re: OFBiz upgrade guidelines : Post 16.11

2019-10-14 Thread Nicolas Malin

Hello,

If you respect the separation framework / plugins the migration is easy, 
you can the data model modification here 
https://cwiki.apache.org/confluence/display/OFBIZ/Data+Migration+by+releases


Nicolas

On 07/10/2019 10:38, Sandeep Singh wrote:

Hi All,
   Is there any recommendation or some guidelines for upgrading ofbiz. 
We are using the latest release version 16.11. I tried looking through the user 
and developer mailing list and couldnt find anything that outlines the steps or 
the effort.

Please point me a thread/descussion or some documentation that outlines the 
upgrade approach.

Thanks
--Sandeep



Re: Live Shipping Rates

2019-10-14 Thread Nicolas Malin

On 01/10/2019 19:51, ja...@productive1.com wrote:

The only thing that is added when an invoice generates is the live
estimate on the sales order as well as the estimate generated on the
pack.  However the actual charges are not added to the invoice.


Hi James,

I never use this process, but if you charge didn't add to you invoice 
it's came from that didn't set as order adjustment before you generate 
the ship.


In other word, when you call UPS for the cost, you need to check if 
OFBiz spread this information on the order. Also if you ship has many 
order how you allocate between its.


Nicolas



Re: Improve use of EntityAuditLog

2019-10-14 Thread Nicolas Malin

Hi Pierre,

On 07/10/2019 10:15, pierre.gaudin wrote:

Hi all,

OFBiz has an EntityAuditLog entity log system, which allows all 
changes to be recorded in a specific field of a table. This allows you 
to have a technical follow-up on what is recorded in a field. 
Following monitoring needs on a production environment at a customer's 
site, we have identified two limitations to the current implementation.


First, unlike logs that can be modified in production, it is not 
possible to modify the audit values of entities in production. It is 
therefore not possible to take advantage of the information provided 
by this entity to help detect production problems. To do this, it 
would be necessary to be able to activate and deactivate the audit of 
a field without having to redeploy or restart OFBiz. Currently the 
activation is done in the entity definition. The objective would be to 
be able to define it at another level in order to be able to modify 
the value dynamically.

We can use the same pattern use on cache system to define it.


Second, the entityauditlog entity is used to store functional data. We 
believe that this is a mistake and that the use of this entity must be 
purely technical. For this reason we propose to modify the current 
code in order to remove the use of the entity audit entity log in a 
functional way.


In my vision use entity audit log to detect some functional modification 
seems to be a bad hack to compensate bad functional design.


So +1 to quick out all functional analyze that exploits entity audit log

Nicolas



What do you think of that?


Thanks


Pierre GAUDIN




Re: Representing transport jobs in Ofbiz

2019-10-14 Thread Nicolas Malin

Hello Daniel,

As you describe your jobs, I would tend to use WorkEffort entity with 
sub workEffort for each sub invoicing part.


When your functional schema is operational, detect what element trigger 
the invoicing and peraphs create your own service to convert your 
workEffort to invoice


Nicolas

On 13/10/2019 21:24, Daniel Watford wrote:

Hello,

A shipping company client of mine needs to replace their current 
operations management software. I would like to build a solution based 
on ofbiz, with a plugin designed to manage their operations.


The company creates Jobs to represent orders/instructions from their 
customers. Each job can have a number of involved parties, including 
potentially multiple parties being invoiced for different parts of the 
job.


The new plugin should be able to replicate the company's Jobs with the 
introduction of some Job related entities. Please see attached diagram.


Eventually the operations software would need to generate invoices, 
email them to customers and post relevant information to accounting 
ledgers. Therefore I thought I would really need to link a Job with an 
Order.


When reading the code behind OrderServices#createOrder I noticed that 
to create a SALES_ORDER it was necessary to include a productStoreId. 
It seems that if I try to make use of the existing createOrder method 
I will need to set up some other 'infrastructure' to make the company 
appear a bit more like an ecommerce environment.


Is it appropriate for me to link Jobs to Orders in this way, or should 
I be keeping the two entities separate and find an alternative way to 
manage invoices?


If appropriate to link Jobs to Orders, should I avoid using the 
existing OrderServices#createOrder method and just construct entities 
as needed for my plugin's needs, or should I create any entities 
createOrder might need (such as productId) to ensure Orders are 
constructed in a consistent manner for use in other parts of ofbiz?


Any comments or suggestions greatly appreciated.

Many thanks,

Dan.
image.png

--
Daniel Watford


Re: Installing on Windows 7

2019-10-14 Thread Jacques Le Roux

Hi Ethan,

OK, we will make it simpler.

Just open 
https://svn.apache.org/repos/asf/ofbiz/branches/release16.11/gradle/init-gradle-wrapper.ps1

And copy it (replace all text) in your own init-gradle-wrapper.ps1. Then run 
"c:\Ofbiz>init-gradle-wrapper"

I have tested the same on my machine and it works as expected.

If it does not work on yours you have a problem with your Windows 7 
installation and I can't do much about it.

I'd then recommend to make a new Windows installation. I know it's not an easy 
choice...

HTH

Jacques

Le 09/10/2019 à 21:45, Ethan Vos a écrit :

OK, here is the result:

c:\Ofbiz>init-gradle-wrapper
The term 'Invoke-WebRequest' is not recognized as the name of a cmdlet, functio
n, script file, or operable program. Check the spelling of the name, or if a pa
th was included, verify that the path is correct and try again.
At C:\Ofbiz\gradle\init-gradle-wrapper.ps1:27 char:18
+ Invoke-WebRequest   -outf gradle\wrapper\gradle-wrapper.jar http://dl.bin
tray.com/apacheofbiz/GradleWrapper/v2.13/gradle-wrapper.jar
    + CategoryInfo  : ObjectNotFound: (Invoke-WebRequest:String) [], C
   ommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

The term 'Invoke-WebRequest' is not recognized as the name of a cmdlet, functio
n, script file, or operable program. Check the spelling of the name, or if a pa
th was included, verify that the path is correct and try again.
At C:\Ofbiz\gradle\init-gradle-wrapper.ps1:28 char:18
+ Invoke-WebRequest   -outf gradle\wrapper\gradle-wrapper.properties http:/
/dl.bintray.com/apacheofbiz/GradleWrapper/v2.13/gradle-wrapper.properties
    + CategoryInfo  : ObjectNotFound: (Invoke-WebRequest:String) [], C
   ommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

The term 'Invoke-WebRequest' is not recognized as the name of a cmdlet, functio
n, script file, or operable program. Check the spelling of the name, or if a pa
th was included, verify that the path is correct and try again.
At C:\Ofbiz\gradle\init-gradle-wrapper.ps1:29 char:18
+ Invoke-WebRequest   -outf gradlew.bat http://dl.bintray.com/apacheofbiz/G
radleWrapper/v2.13/gradlew.bat
    + CategoryInfo  : ObjectNotFound: (Invoke-WebRequest:String) [], C
   ommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException


Should I delete everything and redownload and reinstall?

On 09/10/2019 3:31 p.m., Jacques Le Roux wrote:

Yes, the install will drop them in

Le 09/10/2019 à 20:50, Ethan Vos a écrit :

Hi Jacques.

What about the empty folder? Or will the install drop them in?

Ethan

On 09/10/2019 10:35 a.m., Jacques Le Roux wrote:

Le 09/10/2019 à 15:40, Ethan Vos a écrit :


Contents of C:\Ofbiz\gradle\init-gradle-wrapper.ps1 (I edited it as you 
suggested I think) are:

# Anyway I believe this should be only used in dev environment Invoke-WebRequest -outf gradle\wrapper\gradle-wrapper.jar 
http://dl.bintray.com/apacheofbiz/GradleWrapper/v2.13/gradle-wrapper.jar Invoke-WebRequest -outf gradle\wrapper\gradle-wrapper.properties 
http://dl.bintray.com/apacheofbiz/GradleWrapper/v2.13/gradle-wrapper.properties Invoke-WebRequest -outf gradlew.bat 
http://dl.bintray.com/apacheofbiz/GradleWrapper/v2.13/gradlew.bat



These should be 4 different lines:

# Anyway I believe this should be only used in dev environment

Invoke-WebRequest -outf gradle\wrapper\gradle-wrapper.jar 
http://dl.bintray.com/apacheofbiz/GradleWrapper/v2.13/gradle-wrapper.jar

Invoke-WebRequest -outf gradle\wrapper\gradle-wrapper.properties 
http://dl.bintray.com/apacheofbiz/GradleWrapper/v2.13/gradle-wrapper.properties

Invoke-WebRequest -outf gradlew.bat 
http://dl.bintray.com/apacheofbiz/GradleWrapper/v2.13/gradlew.bat

Please check in your editor.





On 09/10/2019 3:39 a.m., Jacques Le Roux wrote:

Please copy the content of your C:\Ofbiz\gradle\init-gradle-wrapper.ps1 in your 
next answer

Also check the content of C:\Ofbiz\gradle\wrapper you should see 2 files: 
gradle-wrapper.jar and gradle-wrapper.properties

Jacques

Le 08/10/2019 à 22:41, Ethan Vos a écrit :

Ok, that seemed to work (I think)

Next I tried gradlew cleanAll loadDefault and got:

C:\Users\Caleb>Cd C:\Ofbiz

C:\Ofbiz>init-gradle-wrapper

C:\Ofbiz>gradlew cleanAll loadDefault
'gradlew' is not recognized as an internal or external command,
operable program or batch file.

C:\Ofbiz>

Now what am I doing wrong?

Ethan

On 06/10/2019 3:53 a.m., Jacques Le Roux wrote:

Le 05/10/2019 à 17:46, Ethan Vos a écrit :

Thanks.

Looked at init-gradle-wrapper.ps1 and there is no standalone wget.

wget -outf gradle\wrapper\gradle-wrapper.jar 
http://dl.bintray.com/apacheofbiz/GradleWrapper/v2.13/gradle-wrapper.jar
wget -outf gradle\wrapper\gradle-wrapper.properties 
http://dl.bintray.com/apacheofbiz/GradleWrapper/v2.13/gradle-wrapper.properties
wget -outf gradlew.bat 
http://dl.bintray.com/apacheofbiz/GradleWrapper/v2.13/gradlew.bat


Here they are at the start of each line just