Class InvoiceFromShipmentTest


  • public class InvoiceFromShipmentTest
    extends WeldBaseTest
    Test class for Automatic Invoice From Goods Shipment test cases
    • Constructor Detail

      • InvoiceFromShipmentTest

        public InvoiceFromShipmentTest()
    • Method Detail

      • initialize

        public void initialize()
      • invoiceFromShipment_001

        public void invoiceFromShipment_001()
        Generating invoice from a Goods Shipment linked to a Sales Order with invoice term "After Delivery"
        1. Create a Sales Order with invoice term "After Delivery".
        2. Adds one line of product. Book the order.
        3. Create a Goods Shipment.
        4. Adds the line from the previous order.
        5. Complete the document invoicing if possible.
        6. Verify an invoice was created and processed containing the line from Goods Shipment.
      • invoiceFromShipment_002

        public void invoiceFromShipment_002()
        Generating invoice from a Goods Shipment linked to a Sales Order with invoice term "After Order Delivery"
        1. Create a Sales Order with invoice term "After Order Delivery".
        2. Adds two lines of product. Book the order.
        3. Create a Goods Shipment.
        4. Adds the first line from the previous order.
        5. Complete the document invoicing if possible.
        6. Verify no invoice was created.
        7. Create a Goods Shipment.
        8. Adds the second line from the previous order.
        9. Complete the document invoicing if possible.
        10. Verify an invoice was created and processed containing the two lines from Sales Order.
      • invoiceFromShipment_003

        public void invoiceFromShipment_003()
        Generating invoice from Goods Shipment not linked to a Sales Order
        1. Create a Goods Shipment.
        2. Adds two lines of product.
        3. Complete the document invoicing if possible.
        4. Verify an invoice was created and processed containing the lines from Goods Shipment.
      • invoiceFromShipment_004

        public void invoiceFromShipment_004()
        Generating invoice from Goods Shipment with lines linked to Sales Order with invoice term “After Delivery” and “After Order Delivery”.
        1. Create a Sales Order with invoice term “After Delivery”.
        2. Add one line of product. Book the order.
        3. Create a second Sales Order with invoice term “After Order Delivery”.
        4. Add two lines of product. Book the order.
        5. Create a Goods Shipment
        6. Add the line from the first order
        7. Add the first line from the second order
        8. Add a line manually
        9. Complete the document invoicing if possible
        10. Verify an invoice was created with the line from the first order and the one added manually.
        11. Create a second Goods Shipment
        12. Add the second line from the second order
        13. Complete the document invoicing if possible
        14. Verify an invoice was created containing both lines from the second order.
      • invoiceFromShipment_005

        public void invoiceFromShipment_005()
        Generating invoice from Goods Shipment with incomplete delivery
        1. Create a Sales Order win invoice term “After Delivery”.
        2. Adds one line of product. Book the order.
        3. Create a second Sales Order with invoice term “After Order Delivery”.
        4. Adds one line of product. Book the order.
        5. Create a Goods Shipment.
        6. Adds the line from the first order. Set movement quantity less than the proposed value.
        7. Adds the line from the second order. Set movement quantity less than the proposed value.
        8. Complete the document invoicing if possible.
        9. Verify an invoice was generated containing just the line from the first order
      • invoiceFromShipment_006

        public void invoiceFromShipment_006()
        Generating invoice from Goods Shipment with lines linked to Sales Order with invoice terms “Immediate” and “Do not invoice”
        1. Create a Sales Order with invoice term “Immediate”
        2. Add one line of product. Book the order.
        3. Create a Sales Order with invoice term “Do not invoice”.
        4. Add one line to the order. Book the order.
        5. Create a Goods Shipment with the lines from the two orders.
        6. Complete the document invoicing if possible.
        7. Verify an invoice was created containing a line linked to the shipment line from "Immediate" Sales Order
      • invoiceFromShipment_007

        public void invoiceFromShipment_007()
        Generating invoice from Goods Shipment with lines partially invoiced from an order with invoice term “After Order Delivery”
        1. Create a Sales Order with invoice term “After Order Delivery”.
        2. Add two lines of product. Book the order.
        3. Create a Goods Shipment.
        4. Add the first order line.
        5. Complete the document without invoicing.
        6. Create a second Goods Shipment.
        7. Add the second order line.
        8. Complete the document without invoicing.
        9. Create a Sales Invoice.
        10. Add the line for the first Goods Shipment.
        11. Invoice a quantity less than the movement quantity.
        12. Complete the document.
        13. Select the second Goods Shipment in Goods Shipment window.
        14. Generate invoice from shipment using the button.
        15. Verify a new invoice was created containing:
          1. A line with the product of the first Goods Shipment, and invoiced quantity as the difference between the movement quantity and the invoiced quantity of the Sales Invoice.
          2. A line with the product of the second Goods Shipment with invoiced quantity as the movement quantity
      • invoiceFromShipment_008

        public void invoiceFromShipment_008()
        Verify no invoice is generated when processing a Goods Shipment after being previously processed
        1. Create a Sales Order with invoice term "After Delivery".
        2. Adds two lines of product. Book the order.
        3. Create a Goods Shipment.
        4. Adds just one line from the previous order.
        5. Complete the document invoicing if possible.
        6. Verify an invoice was created and processed containing the line from Goods Shipment.
        7. Process the shipment a second time
        8. Verify no invoice was generated
      • invoiceFromShipment_009

        public void invoiceFromShipment_009()
        Generating invoice from a Goods Shipment linked to a Sales Order with invoice term "After Delivery" and specific invoice date and price list
        1. Create a Sales Order with invoice term "After Delivery".
        2. Adds two lines of product. Book the order.
        3. Create a Goods Shipment.
        4. Adds just one line from the previous order.
        5. Complete the document invoicing if possible with invoice date tomorrow and price list "Sales"
        6. Verify an invoice was created and processed containing the line from Goods Shipment with invoice date tomorrow and price list "Sales".
      • invoiceFromShipment_010

        public void invoiceFromShipment_010()
        Generating invoice from a Goods Shipment linked to a Sales Order with invoice term "After Delivery" and specific invoice date, price list and status draft
        1. Create a Sales Order with invoice term "After Delivery".
        2. Adds two lines of product. Book the order.
        3. Create a Goods Shipment.
        4. Adds just one line from the previous order.
        5. Complete the document invoicing if possible with invoice date tomorrow, price list "Sales", and not processing the invoice
        6. Verify an invoice was created and processed containing the line from Goods Shipment with invoice date tomorrow, price list "Sales" and document status draft
      • testOrderFullyInvoicedSoNoInvoiceIsCreatedFromShipment

        public void testOrderFullyInvoicedSoNoInvoiceIsCreatedFromShipment()
        Generating invoice from a Goods Shipment linked to a Sales Order with invoice term "Immediate". The order was fully invoiced before generating the shipment, so no invoice should be created.
        1. Create a Sales Order with invoice term "Immediate".
        2. Adds one line of product. Book the order.
        3. Full invoice the sales order
        4. Create a Goods Shipment.
        5. Adds the line from the previous order.
        6. Complete the document invoicing if possible.
        7. Verify an invoice was NOT created.
      • testOrderPartiallyInvoicedSoInvoiceIsCreatedFromShipmentWhenNecessary

        public void testOrderPartiallyInvoicedSoInvoiceIsCreatedFromShipmentWhenNecessary()
        Generating invoice from a Goods Shipment linked to a Sales Order with invoice term "Immediate". The order was partially invoiced before generating the shipment, so the invoice will be created when shipping more quantity than the previously invoiced
        1. Create a Sales Order with invoice term "Immediate".
        2. Adds one line of product. Book the order.
        3. Invoice the sales order minus 1 unit
        4. Create a Goods Shipment.
        5. Adds the line from the previous order. Ship sales order minus 2 units
        6. Complete the document invoicing if possible.
        7. Verify an invoice was NOT created.
        8. Create a Goods Shipment.
        9. Adds the line from the previous order. Ship the pending 2 units
        10. Complete the document invoicing if possible.
        11. Verify an invoice was created for 1 unit.
      • testShipMoreQtyThanOrdered_AfterDelivery

        public void testShipMoreQtyThanOrdered_AfterDelivery()
      • testShipMoreQtyThanOrdered_Immediate

        public void testShipMoreQtyThanOrdered_Immediate()
      • testShipMoreQtyThanOrdered_AfterOrderDelivery

        public void testShipMoreQtyThanOrdered_AfterOrderDelivery()