Forum Discussion

Satish_D365_LAB's avatar
Satish_D365_LAB
Copper Contributor
Dec 25, 2024

Need to Post Sales invoice Prior to Sales Shipment

Hi Everyone,

Thank you in advance for your support!

One of our clients has requested the following solution in Business Central (SaaS version):

  • The client wants the ability to post a sales invoice directly from the Sales Order page, prior to posting the shipment.

Could you please guide us on how to implement this functionality or suggest an alternative approach?

Looking forward to your valuable inputs.

Best regards,

Satish Srivastava

  • iaadillatif's avatar
    iaadillatif
    Copper Contributor

    Hi Satish Sir,

    Posting a sales invoice before a shipment in Business Central is not a default behavior since Business Central is designed to enforce the sequence of processes (e.g., shipment first, then invoice). However, you can achieve this functionality or suggest alternatives by configuring the system appropriately or leveraging customizations. Here are some approaches:

    1. Enable "Invoice Only" Posting from the Sales Order

    Business Central supports partial posting that can separate invoices from shipments. Follow these steps:

    1. Enable Invoice Posting:
      • Go to the Sales & Receivables Setup page.
      • Ensure the posting methods and dimensions allow separate invoicing.
    2. Steps to Post Invoice Before Shipment:
      • Navigate to the Sales Order page.
      • From the action ribbon, select Post.
      • In the Post Sales Order dialog, choose Invoice.
      • This will allow you to post the invoice even if the shipment hasn’t occurred.
      However, ensure the user understands this means the stock will not be reduced until shipment is posted.

    2. Customize Posting Behavior

    If the client demands the process as part of their workflow, you may need to create a customization using an Extension:

    • Write code in AL to extend the standard Sales Order page.
    • Create an action/button to enable "Invoice Before Shipment."
    • Override the posting logic to allow invoice creation regardless of shipment status.

    Development Details:

    • Modify standard posting routines in Codeunit 80 (Sales-Post) or related objects.
    • Add a condition to bypass shipment requirements for invoice posting.

    3. Alternative Workarounds

    If customizations aren't ideal, you can suggest these simpler workarounds:

    • Use "Prepayment Invoices": Prepayments can represent advance invoices before shipment. After the shipment, a final invoice is issued:
      1. Enable prepayments in the Sales Order.
      2. Issue the prepayment invoice to serve as the initial invoice.
    • Issue Manual Invoices: Directly create a Sales Invoice (via the Sales Invoices page) instead of the Sales Order for non-stocked items or agreed-upon processes. Link it to the Sales Order manually.

    Key Considerations

    • Stock Impact: Ensure the client understands that stock tracking will remain pending until a shipment is posted.
    • Custom Extensions: Check with your Microsoft CSP/partner before overriding posting logic to ensure compliance with Business Central guidelines.
    • Testing: Extensively test any customization to ensure data consistency in postings, especially for inventory and accounting.

    Let me know if you’d like a detailed explanation of any specific approach! 😊

    Best regards,
    Aadil Latif

Resources