In this case, we have to do a workaround. The Invoice will get created when contract is activated. You need to run a script to delete Billing records from OKL Tables. This script be run through a workflow which can be launched on contract booking event.
The records are to be deleted from the following tables:
OKL_TRX_AR_INVOICES_B (and OKL_TRX_AR_INVOICES_TL)
OKL_TXL_AR_INV_LNS_B (and OKL_TXL_AR_INV_LNS_TL)
OKL_TXD_AR_LN_DTLS_B (and OKL_TXD_AR_LN_DTLS_TL)
These Following query can be used:
delete from okl_txd_ar_ln_dtls_b where khr_id = <>;
delete from OKL_TXL_AR_INV_LNS_B where tai_id in (Select id from okl_trx_Ar_invoices_b where khr_id =<>);
delete from OKL_TRX_AR_INVOICES_B where khr_id = <>;