Hoofdmenu

Slechts één factuursjabloon wordt gebruikt bij verzending naar klant.

Gestart door Geert de Bock, 21 januari, 2017, 12:25:10

Vorige topic - Volgende topic

Geert de Bock

Beste mensen,

ik gebruik koppeling Woocommerce-Acumulus en zou graag twee verschillende factuursjablonen willen gebruiken :



  • Eén voor klanten die direct afrekenen (bijv. via Ideal) en dus betaald hebben en waarvan de bestelstatus in Woocommerce op "in behandeling" komt te staan.

  • Eén voor klanten die een overboeking willen doen en die dus niet betaald hebben. De bestelstatus in Woocommerce is dan "in de wacht". In deze sjabloon staat de extra mededeling dat de producten worden verzonden zodra de betaling is ontvangen.

In de plugin heb ik ingesteld dat de factuur verzonden wordt bij de bestelstatussen : "wacht op betaling", "in de wacht", "in behandeling", "afgerond" en "terugbetaald".

Ook heb ik ingesteld dat als er niet is betaald, daar de ene sjabloon voor wordt gebruikt. En bij wel betaald, wordt de andere sjabloon gebruikt.

Ik heb de factuursjablonen beide op "actief" staan en heb ze geen volgnummer gegeven.

Het resultaat is dat er in alle situaties slechts één factuursjabloon wordt gebruikt en het onderscheid "betaald" en "niet betaald" niet wordt gemaakt.

Mijn vraag : heb ik iets niet goed ingesteld of ben ik wat vergeten?

Graag jullie reactie.

Groeten

Geert

erwin-burorader

In WooCommerce kun je van een order opvragen of deze nog betaald moet worden (in PHP code: WC_Abstract_Order::needs_payment()). Dit wordt door de koppeling gebruikt om de betaalstatus te bepalen. Standaard gaat WC er vanuit dat bij de statussen pending (wacht op betaling) en failed (mislukt) er nog betaald moet worden, maar andere plugins kunnen dit beïnvloeden.


/**
* Checks if an order needs payment, based on status and order total.
*
* @return bool
*/
public function needs_payment() {

$valid_order_statuses = apply_filters( 'woocommerce_valid_order_statuses_for_payment', array( 'pending', 'failed' ), $this );

if ( $this->has_status( $valid_order_statuses ) && $this->get_total() > 0 ) {
$needs_payment = true;
} else {
$needs_payment = false;
}

return apply_filters( 'woocommerce_order_needs_payment', $needs_payment, $this, $valid_order_statuses );
}


In jouw geval gebeurt er dus iets vreemds, of er is een andere plugin die de betaalstatus van ofwel on hold ofwel pending aanpast, of de bestellingen komen niet in de juiste status en wordt dus niet verstuurd bij on hold of is al verstuurd bij in behandeling.

Als je een ticket aanmaakt en daarbij 2 berichten meegeeft kan ik dit evt verder uitzoeken. Deze berichten krijg je door de de "Factuur verzendmodus" op "Ontvang altijd een mail met de resultaten bij het verzenden van een factuur naar Acumulus." te zetten. De berichten moeten van een on hold en een in behandeling bestelling zijn.

Geert de Bock

Ok, dank voor je snelle reactie!!

Even als newbee : wat is een ticket en hoe maak ik die aan?

Of bedoel je gewoon replyen met bijlagen?

Groeten

Geert

PS : heb je inmiddels op support(at)burorader.com gemaild.

erwin-burorader

#3
Omdat deze vraag heel veel voorkomt, hier het antwoord.

Na de zoveelste vraag hierover ben ik dit eens echt gaan uitzoeken:

Hoe ziet WC de bestelstatussen: https://docs.woocommerce.com/document/managing-orders/
Hoe ziet WC de bedoeling van de method needs_payment(): https://github.com/woocommerce/woocommerce/issues/6592

Ofwel de waarde van needs_payment() heeft een iets andere betekenis dan de betaalstatus die Acumulus toekent aan een factuur. Grootste verschil is dat on-hold dus NIET geizen wordt als een status waarbij nog betaling nodig is (die is namelijk al gedaan, klant heeft namelijk blauwe ogen, alleen nog niet bevestigd ...). Maw, de method needs_payment() is er om aan te geven of er actie van de klant nodig is. Beetje vreemd, maar er zijn maar weinig webshoppakketten die betalingen wel goed verwerken.

Dit betekent dat de Acumulus koppeling plugin aangepast zal gaan worden. In de volgende versie zal on-hold ook als "nog niet betaald" gezien worden.

Geert de Bock

Een aanvullende vraag waarvan ik het vermoeden heb, dat het antwoord ook in dit topic thuis hoort :

een factuur wordt niet automatisch verzonden bij een betaling via Paypal. De status in Woocommerce staat op "in behandeling". Hij wordt wel automatisch geboekt in Acumulus.

Zit dat ook in de koppeling of is het wat anders?

Dank en groet.

Geert

erwin-burorader

Sorry, deze vraag begrijp ik niet. Slaat die 1e zin op een instelling of op actueel gedrag? Wat is in de instelling voor bij welke statussen verstuurd moet worden? Misschien dat een order die via paypal betaald wordt nog even een andere status krijgt (gedurende de betaling) waarbij wel verzonden wordt?

Geert de Bock

Feitelijk gedrag : een factuur wordt niet automatisch verzonden bij een betaling via Paypal. De status in Woocommerce staat op "in behandeling". Hij wordt wel automatisch geboekt in Acumulus.

Laatste update : ook geen verzending factuur bij betaling via Ideal.

Instelling voor verzending in screenshot bijgevoegd.

Ook logs van verzendingen naar Acumulus beschikbaar.

erwin-burorader

Ik mis nog steeds iets denk ik. Als de orders automatisch geboekt worden in Acumulus, moeten ze toch automatisch verstuurd zijn vanuit de webshop?