If we want to charge customer for any additional charges as part of service assurance journey, for example visit charges or any faulty equipment replacement than which API and capability i should refer.
In such case should we raise an Order or should directly post an amount on the billing/charging system?
You might think about adding fees for things like visit fees or equipment replacements utilizing your system's "one time charge" option. This makes it possible to bill customers in an easy-to-understand and transparent manner for these one-time costs. There should be an API available for posting one-time charge entities in the billing system.
You need to post onetime NRC directly to the billing System. Points to be noted, proper GL needs to be assigned for ERP reporting. Within the fulfillment process flow, a subprocess can be created and based on the type of fees, a lookup to assign proper GL can be done. Hope this helps.
Unfortunately, the current API that "owns" charges (i.e. applied customer billing rate - ACBR) is read-only with respect to these entity. TMF678 Customer Bill Management assumes that ACBRs are generated by some billing process (cycle or realtime), and there is no explicit POST operation for ACBR. There is definitely a case for expanding management capabilities for ACBRs, including direct charge creation, corresponding credit creation, and possibly more.
Hopefully future versions of the API can address this, no concrete plans yet. You can of course extend your implementation of TMF678 to add missing operations and entities.