Invoice Formalization    (B65)

Formalization of Terms & Concepts in a UBL Invoice, expressed in SUO-KIF    (B66)

 This exercise allows us to get the formalization process started 
 and provide participants with a chance to get familiar with the methodology adopted    (B67)

Formalization    (B6D)

 ; This document is released into the public domain with the caveat
 ; that users of this work must give proper credit in any publication
 ; about the work to the author - Adam Pease (
 ; This document is an attempt to fomalize the content of the example
 ; JoineryInvoice.JoineryInvoiceInstance1.html from the UBL effort    (B6F)
 ; domain ontology content    (B6G)
 (subclass Invoice Statement)
 (documentation Invoice "A document which states that a buyer owes,
 or does not owe, money for goods or services purchased from a
 seller.")    (B6H)
  (instance ?I Invoice)
  (exists (?EV)
      (instance ?EV Selling)
      (refers ?I ?EV))))    (B6I)
 (instance quantityInEvent TernaryRelation)
 (documentation quantityInEvent "(quantityInEvent ?PROC ?QUANT ?OBJ)
 means that the number of &%Objects that are instances of ?OBJ that
 participate in an event ?PROC in the role of &%patient is ?QUANT.")    (B6J)
 (domain quantityInEvent 1 Process)
 (domain quantityInEvent 2 Integer)
 (domainSubclass quantityInEvent Object)
  (quantityInEvent ?P ?Q ?OBJ)
  (exists (?INST)
    (equal ?Q
        (KappaFn ?INST
            (instance ?INST ?OBJ)
            (patient ?P ?INST)))))))    (B6K)
 (subclass Softwood Wood)
 (documentation Softwood "Wood obtained from trees classified in the
 family of Softwoods or gymnosperms.  Examples include scrub pine, spruce and cedar.")
 (disjoint Hardwood Softwood)
 (subclass Hardwood Wood)
 (documentation Hardwood "Wood obtained from trees classified in the
 family of Hardwoods, or angiosperms.  Examples include oak, birch and maple.")    (B6L)
    (instance ?H Hardwood)
    (instance ?S Softwood)
    (measure ?H
      (DensityFn ?MASSH ?VOLUME))
    (measure ?S
      (DensityFn ?MASSS ?VOLUME)))
  (greaterThan ?MASSH ?MASSS))    (B6M)
 ; Instance level content    (B6N)
 (instance JoineryInvoice-2003-00645 Invoice)
 (name "IN 2003/00645" JoineryInvoice-2003-00645)
 (date JoineryInvoice-2003-00645 (DayFn 25 (MonthFn 2 (YearFn 2003))))
 (instance JoineryPurchase-2003-00645 FinancialTransaction)
 (subprocess Buying-2003-00645 JoineryPurchase-2003-00645)
 (subprocess Selling-2003-00645 JoineryPurchase-2003-00645)
 (refers JoineryInvoice-2003-00645 JoineryPurchase-2003-00645)    (B6O)
 (agent Buying-2003-00645 JerryBuilderPLC)
 (name "Jerry Builder plc" JerryBuilderPLC)
 (address JerryBuilderPLC "Marsh Lane")
 (instance MarshLane Address)
 (name "Marsh Lane" MarshLane)
 (instance NowhereNorfolk City)
 (located MarshLane NowhereNorfolk)
 (instance NorfolkUK StateOrProvince)
 (located NowhereNorfolk NorfolkUK)
 (located NorfolkUK UnitedKingdom)
 (postalCode MarshLane "NR18 4XX")    (B6P)
 (agent Selling-2003-00645 SpecialistWindowsPLC)
 (name "Specialist Windows plc" SpecialistWindowsPLC)
 (address SpecialistWindowsPLC "Snowhill Works")
 (instance SnowhillWorks Address)
 (name "Snowhill Works" SnowhillWorks)
 (instance LittleSnoringWhereshire City)
 (located SnowhillWorks LittleSnoringWhereshire)
 (instance WhereshireUK StateOrProvince)
 (located LittleSnoringWhereshire WhereshireUK)
 (located WhereshireUK UnitedKingdom)
 (postalCode SnowhillWorks "SM2 3NW")    (B6Q)
 ; not yet formalized: Delivery Doc: DEL-03/55-712
 ; not yet formalized: Your Order No: S03-034257
 ; not yet formalized: Contact: Eva Brick    (B6R)
 (subclass JoineryObject-236WV ManufacturedProduct)
 (subclass JoineryObject-236WV Softwood)
 (quantityInEvent JoineryPurchase-2003-00645 2 JoineryObject-236WV)
  (instance ?X JoineryObject-236WV)
  (monetaryValue ?X (MeasureFn 102.50 BritishPound)))    (B6S)
 (date JoineryPurchase-2003-00645 (DayFn 3 (MonthFn 2 (YearFn 2003))))    (B6T)

UBL term list    (B6U)

UBL Name BIE Dictionary Entry Name UBL Definition    (B6W)

Invoice Invoice. Details the document that describes the finanical commitment of the Order    (B6X)

ID Invoice. Identifier the unique number assigned to the invoice by the seller (invoicer)    (B6Y)

StatusCode Invoice. Status. Code "Identifies the status of the document with regard to change from its original state; 'original', 'copy', 'revision' or 'cancellation'. Original is as first sent; a copy is typically sent on request if the original has been misplaced; a revision is a document that contains a change from the original, e.g. new, deleted or amended item lines; cancellation is cancellation of whole document (for normal order changes and cancellations the respective documents should be used)"    (B6Z)

GloballyUniqueIdentifier Invoice. Globally Unique_Identifier. Text "a computer generated unique identifier for the document, which is guaranteed to be unique"    (B70)

IssueDate Invoice. Issue. Date the date when the invoice was issued    (B71)

TypeCode Invoice. Type. Code identifies the type of the Invoice by a code.    (B72)

Note Invoice. Note. Text contains any free form text pertinent to the entire document or to the document message itself. This element may contain notes or any other similar information that is not contained explicitly in another structure.    (B73)

TaxPointDate Invoice. Tax Point. Date "the date of the invoice for tax purposes, in accordance with the applicable tax regulation."    (B74)

InvoiceCurrencyCode Invoice. Invoice_Currency. Code the currency in which the Invoice is presented. This may be the same currency as the pricing or as the tax.    (B75)

TaxCurrencyCode Invoice. Tax_Currency. Code the currency in which the tax on the Invoice is presented. This may be the same currency as the pricing or as the Invoice itself.    (B76)

PricingCurrencyCode Invoice. Pricing_Currency. Code the currency in which the prices are specified. This may be the same currency as the Invoice itself or as the tax.    (B77)

LineItemCountQuantity Invoice. LineItem_Count. Quantity the number of line items    (B78)

OrderReference Invoice. Order Reference Provides a means of associating an Invoice with one or more Orders    (B79)

DespatchReference Invoice. Despatch_ Reference Provides a means of associating an Invoice with one or more Despatch Advices    (B7A)

ReceiptReference Invoice. Receipt_ Reference Provides a means of associating an Invoice with one or more Receipt Advices    (B7B)

AdditionalDocumentIdentification Invoice. Additional_ Document Identification Provides other means of identifying an Invoice    (B7C)

BuyerParty Invoice. Buyer Party associates the Order with information about the buyer involved in the transaction.    (B7D)

SellerParty Invoice. Seller Party associates the Order with information about the seller involved in the transaction.    (B7E)

Delivery Invoice. Delivery associates the overall invoice with the details of a delivery (or deliveries)    (B7F)

PaymentMeans Invoice. Payment Means associates the invoice with the expected means of payment.    (B7G)

PaymentTerms Invoice. Payment Terms associates the invoice with the payment terms applicable/offered.    (B7H)

AllowanceCharge Invoice. Allowance Charge associates the invoice with an overall charge or allowance.    (B7I)

ExchangeRate Invoice. Exchange Rate "associates the invoice with an exchange rate. In any one invoice there is only one exchange rate needed, either between invoicing at tax currency, or between pricing and invoice totalling."    (B7J)

TaxTotals Invoice. Tax Totals associates the invoice with summary information for a particular tax.    (B7K)

LegalTotals Invoice. Legal Totals associates the invoice with a set of totals required for the invoice to be a legal document.    (B7L)

InvoiceLine Invoice. Invoice Line an invoice has one or more invoice lines    (B7M)

Methodology    (B7N)

  1. Extract nouns and verbs from a source text    (B7P)
  2. Find classes in SUMO for the nouns and verbs    (B7Q)
  3. Record a mapping as being either equal, subsuming or instance.    (B7R)
    • type a single word that relates to the UBL term in the "SUMO term" or "English Word" text areas in the SUMO browser    (B7S)
  4. Create a subclass of SUMO if it's a subsuming mapping    (B7T)
  5. Add properties to the subclass    (B7U)
    • reusing SUMO properties    (B7V)
    • extending SUMO properties by creating a &%subrelation of an existing property    (B7W)
  6. Add English definition to the class    (B7X)
    • define constraints that express how the subclass is more specific than the superclass    (B7Y)
  7. Express the classes and properties in KIF and begin creating axioms, based on the English definitions created previously    (B7Z)