SAP transaction Tcode VF03 (Display Billing Document) is classified in the module Sales and Distribution (SD) under application component Billing and runs Application development R/3 invoice program SAPMV60A upon execution. Enter transaction FB70 in SAP Command Field. If you want to take more than one copy of an invoice then, You can manage this on a customer level for each customer. Use transaction XD02 (or similar), go to sales area data and find the tab 'documents'. Here you can manage number of copies and some other things for each output. The Process Invoice Application Engine process (SPFPRNTINV) processes invoices that have been generated and approved. It prints the pro forma invoice to be sent to the suppliers. This process also adds any manually created invoices to the invoice report table so that invoices can be printed. Invoices can be reconciled with a combination of automatic and manual processing. The automatic reconciliation phase matches invoices to orders or contracts within tolerances defined in your configuration, and refers unresolved issues to users for manual reconciliation. Based on correspondence containers, the print workbench creates invoices or invoice raw data according to the application form defined for the invoicing process in Customizing. Prerequisites You use the correspondence tool and the print workbench and have made the system settings described in Making System Settings for Invoice Printing.

  • SAP Scripts Tutorial
  • SAP Scripts Useful Resources
  • Selected Reading

How To Print A Manual Invoice In Sap

In SAP Scripts, Print Program is used to print the actual form and get the data from database tables, choosing a form and print the text elements in a defined format. It retrieves the data from the database and combines it with the user input, formats the data and prints it.

All print programs and forms are stored in table TNAPR.

Different functional modules are used in Print Program. To start a print program, OPEN_FORM functional module is used, and to end the program CLOSE_FORM functional module is used.

OPEN_FORM − In Print Program, this function should be called first before any printing can take place. You specify the name of the form and the print language.

START_FORM − This function is called to use different forms with similar characteristics in a single request.

WRITE_FORM − This function is used to write text in a window in the form using text elements.

CONTROL_FORM − This function is used to insert SAP Script control commands in an ABAP program.

END_FORM − This function is called in the end and it has no exporting parameters.

CLOSE_FORM − To view the standard form and the standard Print program, run Transaction Code: NACE

Enter Application Types and click the Output Type at the top.

In the following screenshot, you can see the Application name for the selected service.

Print Program − Example

Following is a sample print program that creates an invoice with company-related information such as customer data, date, flight booking, etc.

Section 1 - Get customer data

Section 2 - Open form

In the above function module, the parameter −

Invoice
  • FORM shows the name of the form.

  • DEVICE can be PRINTER (print using spool), TELEFAX (fax output) or a SCREEN (output to screen)

  • OPTIONS shows a structure of type ITCPO to control the various attributes - Print preview, number of copies.

Section 3 - Print table heading

HowHow To Print A Manual Invoice In Sap
  • ELEMENT function module shows the ‘textelement’ to be printed and ‘WINDOW’ shows which window of the form to be printed.

  • TYPE shows the output area of the window like- TOP, BOTTOM, or BODY.

  • FUNCTION tells the text to be replaced, added or appended.

Section 4 - Print customer bookings

Section 5 - Close form

You call this function module in the end and it has no exporting parameter.

Manual

This blog post describes the procedure to display the payment due date on the output form of the manual invoice for Singapore. This extension scenario can be implemented using the Adobe LiveCycle Designer and Maintain Form templates App of SAP S/4HANA Cloud.

Scope

The scope of this extension is limited to SAP S/4HANA Cloud core financials only and does not cover customer invoices created from other modules like FICA, RE_FX, etc. This extension scenario is applicable to manual invoices and does not support other customer invoices posted using background jobs, EDI, etc. The scenario described below is relevant for Create Outgoing Invoice App and it’s related PDF form. This does not cover any electronic files like XML, CSV format.

Prerequisites

Looking Up Invoices In Sap

You have administrative access to SAP S/4HANA Cloud and have implementation experience on the system. This extension requires knowledge of working with Adobe LiveCycle Designer and FormCalc scripting language.

Localization Challenge

When a manual invoice is posted, the due date is computed automatically. The standard system does not provide a BAdI to read the automatically computed due date. However, a company may want to display the due date on the invoice form, which is sent across to their customer.

Solution Approach

The solution approach here is to compute the Due Date using the Payment Term and the Baseline Date, and display the same using a custom form template.

Disclaimer

When implementing this solution there may be situations wherein the payment due date communicated to the customer is different from the one captured in the system. Such a scenario may cause audit and compliance issues since the payment date in the system is earlier than what is communicated to the customer.

For example, the due date captured in the system during invoice posting is 30th March and the due date computed using baseline date and payment term is 5th April. In such a scenario, there is a delay in receiving the payment from the customer who might make the payment by the 5th of April and not 30th of March.

Since this is a custom logic implementation, it is at the discretion of the implementation partner to check the needs of its customers and provide the right implementation. SAP does not have a liability to support this custom implementation.

Implementation

See Full List On Blogs.sap.com

  1. Download the form template corresponding to the SG manual invoice using the Maintain Form Templates App and edit the same using Adobe LiveCycle Designer.
    • Create two hidden text fields and bind them to the BaselineDate and Zterm (payment term).
    • Create the Due Date text field, set the value to Calculated-Read Only and scripting language to FormCalc. Refer to the code sample captured in the code snippet below.
  2. Create a new customized form template to display the payment due date field on the invoice form.
    • Navigate to Maintain Form Templates App to create a custom template for the invoice for Singapore.
    • Provide the necessary details and the correct data source – FDP_J_1HKORDSG_SRV.
    • Upload the modified XDP file.
  3. Print the invoice form.
    • Navigate to Print Document Extracts App.
    • Select the custom form template with the modifications for the payment due date field.
    • Capture the other necessary information and execute the print program.

Conclusion

SAP Help Portal

With the above approach, the newly created Payment Due Date field should now be visible on the output form of the manual invoice. Though this is not a fully integrated solution, I believe this caters to address the problem faced by our partners and provides an automatic way of printing the Due Date on the manual invoice output form.