Search code examples
acumaticainvoicecontract

Stop Billing Type/Terms being apended to Transaction Detail for Contract Invoices


We utilize Contract Billing to maintain yearly and monthly subscription services. When doing monthly billing, we bill for the month prior, so this is setup as Prepaid billing type.

Contract Items Prepaid Billing Type

We have a process called Run Contract Billing. This process generates Invoices for the Contracts attached to Customer Locations. However, somewhere in that process, the Billing Type or the Terms Description is being prepended to the Transaction Description in the line item of the invoice.

Invoices and Memos

This is confusing to customers to receive on an invoice. If I received an invoice with line items starting with "Prepaid", then I would assume it has been paid and the balance is no longer outstanding. I know I can work around this using the Report Designer and removing Prepaid from ARTran.TransDesc, however that feels like the wrong way to fix this. I would must rather this not be prepended in the first place. Can anyone point me in the direction of where to begin finding the cause of this prepending debacle?


Solution

  • Billing Type is being prepended to the AR Transaction Description in CTBillEngine Graph.

    enter image description here

    If you do not wish to use the Prefix , you can override GetTransactionDescriptionWithPrefix method of CTBillEngine Graph.

    using PX.Data;
    using PX.Objects.CT;
    
    namespace PXDemoPkg
    {
        public class CTBillEnginePXDemoExt : PXGraphExtension<CTBillEngine>
        {
            public delegate string GetTransactionDescriptionWithPrefixBaseInvoke(string prefix, string description);
    
            [PXOverride]
            public string GetTransactionDescriptionWithPrefix(string prefix, string description, 
                                                              GetTransactionDescriptionWithPrefixBaseInvoke BaseInvoke)
            {
                return description;
            }
        }
    }