Please note that this documentation is for the most recent version of this extension. It may not be relevant for older versions. Related documentation can be found in the documentation directory of the extension.
Basket order manually
If an order is placed by phone or email, for example, it can easily be created manually. This is advantageous because it allows invoices to be generated automatically, stock levels to be kept up-to-date, and statistics to be maintained.
First, an order record must be created manually and given the status prepared – because only orders with the status prepared can be processed.
Here you can enter the buyer's name and email address. You can also connect to an existing customer via a frontend user – however, the name, email address, and other data such as the address on the Parameters tab must still be entered. Why? Because the customer could update their account information and thus also change our order – and we want to prevent that at all costs.
After saving the initial entry, you then need to compile the shopping cart by creating one or more cart entries and specifying a product, quantity, and price. When you save the order, the order total will update automatically.
Tip:
You can generate and review the delivery note or invoice PDF at any time while filling out the order. Make sure you save the order record beforehand!
Once you have entered all the required information and everything is correct, mark the order as ordered. The next available order number will then be automatically determined and saved in the order record along with the order date. You can now send the invoice.
Tip:
You can also easily create such an order yourself in the frontend by filling the shopping cart and then selecting "Invoice".
stateDiagram-v2
%% Starting point: original order exists (ordered),
%% but no payment and no shipment
[*] --> prepared : Cancellation is being prepared\n(reference to the original invoice)
prepared --> refunded : Cancellation invoice created\n(new invoice number,\nnegative line items)
refunded --> processed : Cancellation completed\nno money flow
%% End state
processed --> [*]
%% Notes
note right of refunded
- No shipment
- No payment
- Pure counter-document / reversal document
end note
Further actions:
- Returns: Possible as soon as the goods have been shipped – i.e., in the status
shippedorprocessed. - Deletion: Deleting an order is only possible in the status
prepared.
TypoScript configuration
plugin.tx_shop.settings.basketOrder {
orderOptions {
manual {
fields {
available = company, firstname, lastname, phone, email, message, privacyProtectionConfirmed, termsConfirmed, deliveryAddressEnabled, deliveryAddressCompany, deliveryAddressFirstname, deliveryAddressLastname
}
status {
prepared {
allowed {
ordered {
# There is a basket required in basket-order, otherwise we can't change to ordered!
condition {
basket = NotEmpty
}
}
# There is no "cancelled" state. If the basket-order is not required, just delete it.
}
}
ordered {
allowed {
paid =
}
}
paid {
allowed {
shipped =
}
}
shipped {
allowed {
processed =
}
}
processed {
# End, but "allowed" must be defined!
allowed =
}
}
}
}
}
