@@ -5192,6 +5192,50 @@ def test_negative_stock_error_for_purchase_return_when_stock_exists_in_future_da
51925192 make_purchase_entry .posting_date = pr1 .posting_date
51935193 self .assertRaises (NegativeStockError , make_purchase_entry .submit )
51945194
5195+ def test_purchase_return_from_different_warehouse (self ):
5196+ from erpnext .controllers .sales_and_purchase_return import make_return_doc
5197+ from erpnext .stock .doctype .stock_entry .test_stock_entry import make_stock_entry
5198+
5199+ item_code = make_item (
5200+ "Test Purchase Return From Different Warehouse Item" ,
5201+ {
5202+ "is_stock_item" : 1 ,
5203+ "has_batch_no" : 1 ,
5204+ "create_new_batch" : 1 ,
5205+ "batch_number_series" : "TPRFDWU.#####" ,
5206+ },
5207+ ).name
5208+
5209+ pr1 = make_purchase_receipt (
5210+ item_code = item_code ,
5211+ posting_date = add_days (today (), - 4 ),
5212+ qty = 100 ,
5213+ rate = 100 ,
5214+ warehouse = "_Test Warehouse - _TC" ,
5215+ )
5216+
5217+ batch1 = get_batch_from_bundle (pr1 .items [0 ].serial_and_batch_bundle )
5218+
5219+ make_stock_entry (
5220+ item_code = item_code ,
5221+ qty = 100 ,
5222+ posting_date = add_days (today (), - 1 ),
5223+ source = "_Test Warehouse - _TC" ,
5224+ target = "_Test Warehouse 1 - _TC" ,
5225+ batch_no = batch1 ,
5226+ use_serial_batch_fields = 1 ,
5227+ )
5228+
5229+ make_purchase_entry = make_return_doc ("Purchase Receipt" , pr1 .name )
5230+ make_purchase_entry .items [0 ].warehouse = "_Test Warehouse 1 - _TC"
5231+ make_purchase_entry .submit ()
5232+ make_purchase_entry .reload ()
5233+
5234+ sabb = frappe .get_doc ("Serial and Batch Bundle" , make_purchase_entry .items [0 ].serial_and_batch_bundle )
5235+ for row in sabb .entries :
5236+ self .assertEqual (row .warehouse , "_Test Warehouse 1 - _TC" )
5237+ self .assertEqual (row .incoming_rate , 100 )
5238+
51955239
51965240def prepare_data_for_internal_transfer ():
51975241 from erpnext .accounts .doctype .sales_invoice .test_sales_invoice import create_internal_supplier
0 commit comments