cancel
Showing results for 
Search instead for 
Did you mean: 

missing billing documents

Former Member
0 Kudos

Hi,

While creating billing documents, we faced a peculiar problem that the numbers are missing. We missed some numbers in order. Can you please help in finding out the reason?

There is no buffer maintained in the number range also.

Please provide some help on this.

Thanks in advance

Regards,

CS

Accepted Solutions (1)

Accepted Solutions (1)

eduardo_hinojosa
Active Contributor
0 Kudos

Hi,

Check the article [Reporting for Invoice Number Gaps|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/00b72ceb-a2c0-2c10-a8ac-a267e1fe64a6?quicklink=index&overridelayout=true].

Regards,

Eduardo

Answers (1)

Answers (1)

alex_zheng
Contributor
0 Kudos

Hi CS,

There are a number of reasons why gaps in invoice numbers may occur:

1. Number range object is buffered. Please refer to note 62077 for

details.

2. Update terminate/shortdump occures while billing document update.

- the number is set in to the invoice at the beggining of the program

If an interruption of the process happens after the assignation of

this number, the number has run in the range and cannot be recovered.

Update terminations in transaction VF01 and VF04. The billing

document number is reserved prior to the update. After a possible

update termination, it cannot be used again. Update terminations are

displayed in transaction SM13. At present, there is no possible

solution.

3. Incorrect userexit, eg.in Program RV60AFZZ, USEREXIT_NUMBER_RANGE.

If there is an FI/CO validation/substitution or any program

modification (userexit, custom formula, custom print program)

causing a commit, then this error can occur.

Notice the commit can be implicit or explicit.

An implicit 'COMMIT' can really only be triggered online.

Implicit commits on the database are always triggered if the

work process would have to wait. This includes the following:

- The sending of a SAP screen.

- The sending of a dialog message (E, I, W message).

- The call of a synchronous RFC (Remote Function Call)

- Call of a function module or termination of a function

module in another work process

- CALL of the 'COMMIT CALL' function module

- CALL screens (POPUP)

- possibly indirectly by a screen changes after a call by CALL

TRANSACTION <t_code> or SUBMIT <program>.

You have the following options to improve the situation:

- check in customer coding (userexit, validation, substitution etc.)

for eventual statement causing commit.

- use a two-step process to post the invoice to accounting:

1. create the invoice

2. release the invoice to accounting

This can be get by setting the flag Posting block = [x] in

transaction VOFA.

This is also recommended from performance point of view.

This could ensure that no accounting documents can ever be posted

for non-existing invoices.

- do not print immediately (do not use print at time '4'), this

is also recommended for performance improvement.

Thanks,

Alex