Contenu du cours

Additional Data for Procurement Transactions

Procurement transactions refer to transactions that contain the line item (or order basket) details. If the line-item details are sent to iVeri within a transaction, then a procurement card holder get those details from their issuing bank (for example on their monthly statement). This is of assistance in tracking business to business transactions particularly in large corporations. Procurement transactions are currently only available within distributor Nedbank.

Coding for Procurement

The following optional input parameters are Procurement specific per transaction:

  • CustomerReferenceIdentifier
  • CustomerVATRegistrationNumber
  • DestinationCountry
  • DestinationZIPCode
  • NationalTax
  • NationalTaxIndicator
  • OrderDate
  • PurchaseIdentifier
  • ShipFromZIPCode
  • ShippingAmount
  • ShippingTaxRate
  • TransactionDiscount
  •  UniqueVATInvoiceReferenceNumber

 

The following optional input parameters are Procurement specific per Line item:

Discount

  • ItemCommodityCode
  • ItemDescriptor
  • ProductCode
  • Quantity
  • TaxRate
  • Total
  • UnitCost
  • UnitOfMeasure

Since Line items are repeated, the advanced Enterprise methods openElement and closeElement must be used.

The following is a code snippet in VB.net:

enterprise.setTag("ShippingTaxRate", shippingTaxRate)

enterprise.setTag("TransactionDiscount", transactionDiscount)

enterprise.setTag("UniqueVATInvoiceReferenceNumber", vatReferenceNo)

 

Dim dr As DataRow

For Each dr In myTable.Rows

         enterprise.openElement("LineItem")

         enterprise.setTag("ItemCommodityCode", dr("Item Code"))

         enterprise.setTag("ItemDescriptor", dr("Description"))

         enterprise.setTag("ProductCode", dr("Product Code"))

         enterprise.setTag("Quantity", dr("Quantity"))

         enterprise.setTag("UnitOfMeasure", dr("Unit Of Measure"))

         enterprise.setTag("UnitCost", dr("Unit Cost"))

         enterprise.setTag("TaxRate", dr("Tax Rate"))

         enterprise.setTag("Discount", dr("Discount"))

         enterprise.setTag("Total", dr("Total"))

         enterprise.closeElement()

 

Tax Calculation

The calculations below show how the NationalTax is calculated. Note that rounding can be up or down since the resulting NationalTax value is allowed to fall in a precision tolerance interval based on the number of line items. Calculation when TransactionDiscount is zero

NationalTax = (sum of (LineItem Total x LineItem TaxRate) / 10000) + (ShippingAmount x ShippingTaxRate) / 10000


Calculation when TransactionDiscount is NOT zero

The TransactionDiscount is spread across some or all the line items resulting in an additional discount for these line items. Let’s call the LineItem Total of the affected line items, reduced LineItem Total. Then,

NationalTax = (sum of (reduced LineItem Total x LineItem TaxRate) / 10000) + (ShippingAmount x ShippingTaxRate) / 10000.

For the above calculation, a maximum and minimum tax amount is obtained by sorting line items in ascending and descending order respectively according to LineItem TaxRate.



Évaluation
0 0

Il n'y a aucun commentaire pour le moment.

pour être le premier à laisser un commentaire.