Is there any way I can create a status for an order saying "Partially refunded" if only part of that order has been returned?
Usually products that are shipped back are refunded only for the cost of goods and not the cost of shipping that falls in the responsibility of the customer.
I've been looking into this aspect also for orders that have been completely refunded and the status is "Cancelled" instead of "Totally refunded".
This link will help you to create custom order status and states in magento.Try this.
Create Custom Order Status
Usually there are several events fired when creating a credit memo. Find out wich one suits best in your situation by logging the fired events in Mage::dispatchEvent().
Create a custom orders status as mentioned above.
Finally create an observer that hooks up the right event right before or after the status is changed. Write some logic to determine a partial refund, and save the order with the new status.
No need to rewrite or extend core magento models.
Related
I have a problem when i was trying to create invoice. I want to change custom order status at the time of creation of invoice currently when invoice is generated it take automatically COMPLETE status that i want to change to dispatched status. But i am not able to do the same.
Please help me anyone to sort out this issue ASAP.
Thanks,
Nilesh
First you need to understand order states.
After order has been placed, it gets New state. At that point, you can Hold it, Ship it, Invoice it or Cancel it, thereby assigning your order Hold, Processing, Processing, or Cancelled state, respectively. Once you ship and invoice, your order receives Completed state.
Now, each of these states can have a separate status, that you can define yourself if System -> Order statuses. In your case, if you want the order to say Dispatched, after you are finished shipping and invoicing, you would add Dispatched order status and assign it to Complete order state. Same goes for any other order states.
I hope someone can help me out.
I want : The product isn't taken out of stock until the payment transaction is complete.
Suppose I have one product and someone(customer) is checkout this product but before payment transaction process this product taken 'out of stock'.
I would try turning off the Magento stock management functionality (System->Configuration->Catalog->Inventory). Then you can write an extension that listens for the sales_order_invoice_save_after event and adjust stock quantities yourself. You'll also want to handle returns/credit memos using the same type of event observer code. Keep in mind, however, that if you get 2 orders for the same item and you only have 1 in stock you'll end up in a backorder scenario. As long as you're okay with that, this should work.
I've never set a store up to use Price Alerts before, and now that I've gone through and gotten it to work, it appears as though the alert is only triggered when a product's 'Price' attribute changes.
This is nice, but what about tiered pricing? Looking through the ProductAlert core module, I am not sure where this attribute is being filtered.
I'm guessing that an additional model, say 'productalert/tierprice' will need to be created, followed by a new method in Observer.php, likely _processTierprice(). Just not sure if this concept is correct... could use a little guidance.
Thanks!
This shouldn't be too difficult; lots of options (it's Magento, after all)!
I'd add new methods to deal with tier price alerts. For products with tier pricing, you'd need to capture the relevant tier data along with the final price (either in a new table or in new columns on the existing product alert table). The alerts are sent out via scheduled job. So, in a nutshell (overrides where necessary):
Alter the product alert schema as necessary, and amend the frontend form fields to suit
In the overridden Mage_ProductAlert_AddController add a tierPriceAction() method to process the alert subscription, or adjust its existing priceAction() to handle the data being posted in / tier condition
Override Mage_ProductAlert_Model_Observer as needed; I'd include a _processesTierPrice method() similar to _processPrice().
Add a resource model method to get the tier-related prices
Add a tier price email block and template (reference Mage_ProductAlert_Block_Email_Abstract)
Profit!
As a reference for your price logic, see Mage_Catalog_Model_Product_Type_Price.
In the Magento admin, when you click "Orders", all orders are displayed based on date. This includes completed orders, canceled orders, etc. We have specific statuses (Processing, Pending Shipment) and we'd like for only orders in those two statuses to show by default.
If we need to see canceled orders, for example, we can use the search, select Canceled and bring them up that way. Restricting what shows by default would help us streamline our order processing steps by limiting our view to only those orders we need to deal with.
Where should I be looking to make this change? It feels like it should be a simple programmatic change, but I'm not certain which files to look in.
Any insights would be much appreciated.
Thanks.
We are using Microsoft CRM 4.0 to run a consulting business. Its working pretty well but we want to simplify the way we are doing some things. What we want to do is create an Order (salesorder) with multiple Order Products (salesorderdetal). So good so far.
Next I want to be able associate each Order Product (salesorderdetail) with a Service Activity (serviceappointment), this representing that this billable line item in the order is actually going to be fulfilled as a consuting engagement.
The problem is, I can't seem to be able to create an association between the Order Product (salesorderdetail) and Service Activiy (serviceappointment). It simply doesn't appear in the drop downlist.
Can anyone think of a reason for this? I've seen some posts about relating field mapping between Quote Product, Order Product, Opportunity Product and Invoice Product, but that isn't quite what I am after.
Any suggestions gratefully received - even if it is an explaination of why its not possible.
I created a simple 1:N mapping from Case to Invoice. The Case records its ID and Title in custom fields in the Invoice. Unfortunately this does not allow for product creation as children of the Invoice, so that should be created as a custom code workflow.