OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ubl-dev message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [ubl-dev] Basic Invoice - How Names Are Linked / Determined




In discussion how to use the UBL invoice, it is important to consider two
realities. My apologies if all this is familiar. 

One is that UBL typically is not "native" to either the party originating
the invoice nor the party receiving and, one can hope, paying the invoice,
but merely an intermediate version used to communicate data between unlike
systems. Consequently, it often is necessary to define (map) data as
expected or required by the given recipient. For example, if the business
deal with the recipient involves service billing by week, it may be that the
UBL "period" data fields should map to week, even if the invoice originator
and the invoice originator's billing system internally categorize invoices
by calendar month. For many invoices (e.g., for the typical product invoice)
fields such as invoice date or FOB date or some other specific date often
governs all important invoicing matters, making "period" essentially
irrelevant to the paying party, because the payer's internal systems will
"bucket" invoices by period according to internal conventions, not by the
supplier's.

Second, note that many data conventions to be used in a given invoice are
essentially dictated by upstream transactions, such as the purchase order,
ship advice, quote or contract. As an example, a customer often will require
the invoice to include original PO line number, so original PO line data
must be captured, ideally by being carried through the internal ERP's sales
order management process and then picked up from the ERP for the outbound
invoice process. The mapping process needs to be sufficiently agile to deal
with transaction-level dynamics.

Often mapping and sending less is more, because if a data field is unlikely
to be useful to the recipient, don't send it so that you will not have to
explain or defend it. 


						Fulton Wilcox
						Colts Neck Solutions LLC



-----Original Message-----
From: jaymuz@optusnet.com.au [mailto:jaymuz@optusnet.com.au] 
Sent: Thursday, June 18, 2009 8:35 PM
To: ubl-dev@lists.oasis-open.org
Subject: [ubl-dev] Basic Invoice - How Names Are Linked / Determined

Hi,

I'm nearly there. Thanks for your answers.

A bit of clarification on what is following what here [if any] with regards
names.

1. The tag name <tagname></tagname> is taken from ref attribut value
"cac:InvoicePeriod" even though the element name is "InvoicePeriod" in cac
[as otherwise namespaces wouldn't function. Correct?

2. In this line in Invoice:
<ccts:DictionaryEntryName>Invoice. Invoice_ Period.
Period</ccts:DictionaryEntryName>

To determine what should be after Invoice_ Period. we look for the
ObjectClass tag of the next level in this case the complex type definition.
Correct?

<ccts:ObjectClass>Period</ccts:ObjectClass>

3. If that be the case then where do we get the string "details" in:
<ccts:DictionaryEntryName>Period. Details</ccts:DictionaryEntryName>

and the string "Date" in:
<ccts:DictionaryEntryName>Period. Start Date.
Date</ccts:DictionaryEntryName>


invoice:

      <xsd:element ref="cac:InvoicePeriod" minOccurs="0"
maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>ASBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Invoice. Invoice_ Period.
Period</ccts:DictionaryEntryName>
              <ccts:Definition>An association to period(s) to which the
Invoice applies.</ccts:Definition>
              <ccts:Cardinality>0..n</ccts:Cardinality>
              <ccts:ObjectClass>Invoice</ccts:ObjectClass>
 
<ccts:PropertyTermQualifier>Invoice</ccts:PropertyTermQualifier>
              <ccts:PropertyTerm>Period</ccts:PropertyTerm>
 
<ccts:AssociatedObjectClass>Period</ccts:AssociatedObjectClass>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>


cac:

  <xsd:element name="InvoicePeriod" type="PeriodType"/>

  <xsd:complexType name="PeriodType">
    <xsd:annotation>
      <xsd:documentation>
        <ccts:Component>
          <ccts:ComponentType>ABIE</ccts:ComponentType>
          <ccts:DictionaryEntryName>Period.
Details</ccts:DictionaryEntryName>
          <ccts:Definition>Information about a period of
time.</ccts:Definition>
          <ccts:ObjectClass>Period</ccts:ObjectClass>
        </ccts:Component>
      </xsd:documentation>
    </xsd:annotation>
    <xsd:sequence>
      <xsd:element ref="cbc:StartDate" minOccurs="0" maxOccurs="1">
        <xsd:annotation>
          <xsd:documentation>
            <ccts:Component>
              <ccts:ComponentType>BBIE</ccts:ComponentType>
              <ccts:DictionaryEntryName>Period. Start Date.
Date</ccts:DictionaryEntryName>
              <ccts:Definition>The start date of the
period.</ccts:Definition>
              <ccts:Cardinality>0..1</ccts:Cardinality>
              <ccts:ObjectClass>Period</ccts:ObjectClass>
              <ccts:PropertyTerm>Start Date</ccts:PropertyTerm>
              <ccts:RepresentationTerm>Date</ccts:RepresentationTerm>
              <ccts:DataType>Date. Type</ccts:DataType>
            </ccts:Component>
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>

cbc:

  <xsd:element name="StartDate" type="StartDateType"/>


---------------------------------------------------------------------
To unsubscribe, e-mail: ubl-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: ubl-dev-help@lists.oasis-open.org




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]