[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]