public SupplyRecord Build(SOInvoice soInvoice, ARRegister register, TaxTran taxTran, Customer customer, int gafLineNumber)
        {
            var supplyRecord = BuildInternal(register, taxTran, gafLineNumber);

            _recordBuilderByCustomerData.Build(supplyRecord, register, customer);
            _recordCountryBuilder.Build(supplyRecord, soInvoice);

            return(supplyRecord);
        }
        protected virtual void _(Events.RowPersisted <SOInvoice> e)
        {
            if (e.Row == null)
            {
                return;
            }

            SOInvoice soInvoiceRow = (SOInvoice)e.Row;

            if (e.TranStatus == PXTranStatus.Open)
            {
                if (e.Operation == PXDBOperation.Delete)
                {
                    InvoicingFunctions.CleanPostingInfoLinkedToDoc(soInvoiceRow);
                }
            }
        }