RMA

From ADempiere
Jump to: navigation, search

Project Team

Coordinator

Joel Stangeland

Functional Specs

  • Colin Rooney
  • Joel Hoffman (free)

Developers

  • Ashley Ramdass
  • aj_kimball

Testers

  • Joel Hoffman (free)
  • Susy Ongko (free)
  • Jan Kantert
  • Moyses

Sponsors

Idalica $2000USD

Systemhaus Westfalia - El Salvador

Requirements

Finish off the beta Return Material Authorization (RMA) functionality.

  • Need to be able to take a call or email from the customer, and issue them an RMA number.
    • Using RMA screen, select the original shipment
    • Using the RMA Lines select the shipment line, and qty to be returned
    • The amount to be credited should be looked up from the unit price on the invoice, if no invoice then order
    • Should also be able to select Charge on the RMA line, so you could add a Restocking Fee
    • Create a Return Material document (SO subtype)
  • Tracking Shipment: Need to be able to track and receive the inbound shipment
    • Material Receipt - Should have a new doc type (Return Receipt)
    • Create Lines From should be able to view the lines of Return Material documents.
    • Document type (Return Receipt) should post to AR
  • Customer Credit
    • Generate Invoices should create an AR Credit Memo
    • Credit A/R, Debit Trade Revenue for credit amount
    • Debit A/R, Credit Charge Acct for restocking fee
  • If the item needs to be scrapped, use internal use.
  • If replacing item,
    • should have a button on the RMA screen that generates a Sales Order
      • Only include RMA lines with Product and Qty (use price from RMA)
    • Record the new Order ID in the RMA record for reference
    • Generate Shipment and Invoice as normal


Vendor RMA:

  • Using RMA Window. Select DocType of Vendor RMA document (PO subtype)
    • Generate Shipments should include Vendor Return
    • Create shipment (in order to support outgoing shipping processes)
    • Document type (Return Receipt) should post to AP
    • Generate AP Credit Memo
    • Search for original invoice with price conditions


Optional Extension:

  • If the item will be repaired externally:
    • Need to be able to create Purchase Order, and then ship the item to a repair facility.
    • Need to receive the item back.
    • Need to track the costs of the repair and possibly invoice the customer.
    • Need to ship and invoice the customer.

Contribution

  • Contribuion: [1]
  • Vote for inclusion into trunk: [2]

Integrated in trunk with release 3010 for community testings.


Stabilization

Sponsors

Developers

Test Cases

Menu Changes

A new menu "Returns" was created with the options:

  • RMA Type
  • Customer RMA
  • Customer Return
  • Vendor RMA
  • Return to Vendor

Windows Shipment and Material Receipt now don't allow to create or maintain return documents. These documents must be created and maintained with the new windows.

Configuration

All tests conducted in GardenWorld.

Changed the costing method on accounting schema "GardenWorld US/A/US Dollar" to "Standard Costing"

Configuration of document types:

  • MM Shipment -> BaseType = Material Delivery -> Sales Transaction checked (same for the other MM Shipments)
  • MM Vendor Return -> BaseType = Material Delivery -> Sales Transaction NOT checked
  • MM Receipt -> BaseType = Material Receipt -> Sales Transaction NOT checked (same for the other MM Receipt)
  • MM Customer Return -> BaseType = Material Receipt -> Sales Transaction checked
  • Customer Return Material -> Base Type = Sales Order -> SOSubType = Return Material -> Sales Transaction checked -> DocumentForShipment = MM Customer Return
  • Vendor Return Material -> Base Type = Purchase Order -> SOSubType = Return Material -> Sales Transaction NOT checked -> DocumentForShipment = MM Vendor Return

Create Sales Order and Shipment

  • PASSED -> Sales order window must not show the "Customer Return Material" document type
  • PASSED -> Shipment window must show just Shipment documents
  • PASSED -> Create a sales order and a shipment the normal way

Create Customer RMA

  • PASSED -> Create a customer RMA choosing Sales Order and filling lines
  • PASSED -> Complete the Customer RMA

Create Customer Return

  • PASSED -> Create a customer return using the button "Create lines From" and choosing the Customer RMA
  • PASSED -> Complete the Customer Return

Generate Invoice from Receipt on Customer Return window

  • PASSED -> Process created properly a document "AR Credit Memo"

Create Purchase Order and Material Receipt

  • PASSED -> Purchase order window must not show the "Vendor Return Material" document type
  • PASSED -> Material Receipt window must show just Receipt documents
  • PASSED -> Create a pruchase order and a material receipt the normal way

Create Vendor RMA

  • PASSED -> Create a vendor RMA choosing Purchase Order and filling lines
  • PASSED -> Complete the Vendor RMA

Create Vendor Return

  • PASSED -> "Vendor Return" created properly using the process "Generate Shipments (manual)"
  • PASSED -> Complete the Vendor Return
  • PASSED -> Create Vendor Return directly from "Return to Vendor" window

Create Lines From on the 4 shipment/receipt windows

  • PASSED -> Create Lines from just allow to use RMA on returns, and invoice/order on shipment/receipt

Sales -> Generate Invoice (manual)

  • PASSED -> Generate Invoice from a customer RMA create properly the AR Credit Memo

Purchases -> Generate AP Credit Memo

  • PASSED -> "Generate Invoice from Receipt" on window Return to Vendor created properly the AP Credit Memo

Post Shipment

PASSED

DB    COGS
CR        Asset

Post Customer Return

PASSED

DB    Asset
CR        COGS

Post Material Receipt

PASSED

DB    Asset
CR        NotInvoicedReceipts

Post Vendor Return

PASSED

DB    NotInvoicedReceipts
CR        Asset

Post Matched Purchase Orders

PASSED

DB    PPV
CR        PPV_Offset

Post Matched Invoices

PASSED

DB    InventoryClearing
CR        NotInvoicedReceipts
CR        InvoicePriceVariance

Initial Client Setup

  • PASSED -> Verify that return documents are created properly. All documents created properly as defined in Configuration paragraph above.