Editing Orders: What is new feature Paid / unpaid / partial paid / balance owing

Started by Robert_ITMan, October 21, 2019, 18:28:27 PM

Previous topic - Next topic

Robert_ITMan

Editing Orders: What is new feature Paid / unpaid / partial paid / balance owing? Where is the help / info on this?

Where is the help / info on this?

Notice The dates are missing and before adding a partial amount the date is showing as 0000-00-00 why is this?

Is there a way to disable this and/or improve it so when order status is complete it shows as paid without our having to manually update each order??

How do we disable this so it does not show or our clients who do not need this function? It adds confusion as customers will think they didn't pay as default incorrectly shows 'unpaid'.

VirtueMart 3.6.3 10184
WEBSITES @ OURFINGERTIPS
manage > develop > market > repeat

Save a lot of time and money when focused on building a website that works with marketing efforts to get more leads and sales from visitors.

www.ourfingertips.com

Milbo

The date should show the date of the last payment.

The paid feature is quite simple in the moment you understand it. When you use something like paypal it is not so obvious. But assume you want to provide "payment on invoice" ( I dont know the english term).
Our orderstati follow the law, the legal system.

A "Pending" order means that the shopper selected the wares. Imagine you would sell rare tickets for a concert, a pending order means, the customer has them in his hand and is going to the cashdesk.
A "confirmed by shopper" order status means, that the shopper confirmed to the contract to buy the wares. According to german law there is no contract yet, just the shopper "signed" it.
A "confirmed" order means, that the vendor agreed to the agreement of the shopper. Now we have a real contract. Depending on your TOS, the contract could already exist, when the shopper agrees  (depends also on your country laws).

So now you see yourself, nothing is told about being paid. So the next order status is usually "shipped". That works, when you use something like paypal. You just let Paypal set the order to confirm. So when it is confirmed, it is usually also paid. But that is just a mindset thing.

When we use other payments for example by invoice, then we get
Pending, confirmed by shopper, shipped.
Shops can rearrange their orderstati and add extra orderstati and so on. But most time it is hard to fullfill both systems in one shop.

With the paid feature it becomes easy. You can set an already shipped order to "paid", when it arrives on the bank. Or you can still use it with paypal. Paid is not just a boolean, it keeps the "paid amount".

When you have todo a partial refund, vm creates now the "credit note" for you. The credit is in the balance ;-). You can directly see how much you have to refund. In future there should be also an extra update by paypal, when you do a refund, so that it lowers the paid and the balance should be correct again.

It can be also used later for "recurring payments", "installments" and so on. Also the bookkeepers may like it. When it works, then the bookkeepers sees always the finally paid amount.

I should add that to a docs somewhere.
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

Robert_ITMan

Thank you for the explanation! I see the logic, and hope you can understand some stores will not need this added feature so it would be nice to have a switch in admin to hide it - without this ability I will have to hide this, if you have css classes I can hide in the stylesheet, and if not I will need to update the template overrides for these.

FYI - In my use case we already have the order status set in our payment methods and this adds a layer of confusion and/or additional work to maintain.
WEBSITES @ OURFINGERTIPS
manage > develop > market > repeat

Save a lot of time and money when focused on building a website that works with marketing efforts to get more leads and sales from visitors.

www.ourfingertips.com

moskwa

Quote from: Milbo on October 30, 2019, 20:26:00 PM

A "confirmed" order means, that the vendor agreed to the agreement of the shopper. Now we have a real contract. Depending on your TOS, the contract could already exist, when the shopper agrees  (depends also on your country laws).


Hello,
   I think that paid should be set not only for "confirmed" status. I add my own status "paid" and do not use "confirmed". Please add in configuration option to chose status for paid. It will be better solution for many people.

Marcin

sirius

Quote from: moskwa on January 20, 2021, 11:04:34 AM

Hello,
   I think that paid should be set not only for "confirmed" status. I add my own status "paid" and do not use "confirmed". Please add in configuration option to chose status for paid. It will be better solution for many people.

Marcin

Hi
this is not only a question of word "Paid" this is the status code "C" that is involved by default for a paid order.
So, for some payment plug-in and in general you can choose which status will be considered as "Paid / Confirmed"

simply change the status code of your status "Paid" to "C"
OR
Instead why don't you just change the word itself from the language constant ?

The "Confirmed" status name field use COM_VIRTUEMART_ORDER_STATUS_CONFIRMED (by default)
Just change it to suit your need like: COM_VIRTUEMART_ORDER_STATUS_PAID
Put this in the override language file : COM_VIRTUEMART_ORDER_STATUS_PAID = "Paid"

just suggestions..

J3.10.12 | PHP 7.4.33 + APC + memcached + Opcode
VM Prod : 3.8.6 | VM Test : 4.0.12.10777

moskwa

Quote from: sirius on January 20, 2021, 11:57:12 AM

simply change the status code of your status "Paid" to "C"
OR
Instead why don't you just change the word itself from the language constant ?


because I use "C" for something else from many years and it will be hard to change for me. Like you wrote some plug-ins can have different status for that. Some can change some not. That's why this setting in configuration will be the best solution.