Business-cXML

 view release on metacpan or  search on metacpan

t/xml-catalog/cXML-1.2.036/cXML.dtd  view on Meta::CPAN

<!--

    If you claim an exemption from taxes, 
	some tax authorities, such as Portugal SAF-T, 
	require you to specify an exemption code and exemption reason.
	
	exemptCode
        specifies the code against which the tax is exempted.
-->

<!ELEMENT TaxExemption (ExemptReason?)>
<!ATTLIST TaxExemption
    exemptCode    %string;      #REQUIRED 
>

<!--

	ExemptReason
		specifies the exemption reason for zero tax.
		
		This would have no relation with the existing "exemptDetail" attribute.
		Existing attribute "exemptDetail" will not be ignored and this will also will be kept along with the new element "ExemptReason".

	xml:lang
        the language in which the exemption reason is written.
				
-->

<!ELEMENT  ExemptReason  (#PCDATA) >
<!ATTLIST  ExemptReason
    xml:lang   %xmlLangCode;    #REQUIRED 
>


<!--
    Defines details of one type of tax.

    TaxableAmount
       The taxable amount.

    TaxAmount
       The tax amount.

    TaxLocation
       The tax location.

    Description
       The textual description of the current type of tax.

    TriangularTransactionLawReference
       The law reference for transactions where isTriangularTransaction is True

    purpose
       The purpose of the tax, e.g., tax (tax), custom duty, shippingTax,
       specialHandlingTax, etc.

    category
       The tax category, Sales tax (sales), Use tax (usage), VAT (vat),
       GST (gst) are defined categories. Other values are permitted.

    percentageRate
       The tax rate in number of percentage.

    isVatRecoverable
       True if the VAT is recoverable.  Default is false.

    taxPointDate
       refers to the date on which VAT becomes due.

    paymentDate
       indicate the date when payment must be made.

    isTriangularTransaction
       True if the transaction is triangular.  Default is false.

    exemptDetail
       If the TaxAmount is zero, VAT or other regulations may require
       a reason why.  zeroRated means the tax rate is zero.  exempt
       means the item or items are exempt from taxation.
	   
	taxRateType
	   Specify the tax rate type code(a string) that corresponds to a specific tax type. 
 	   For example, in Germany the tax rate of 19% for value-added tax (VAT) corresponds to the “Standard” tax rate type. 
 	   In different EU member states, different VAT rates are allowed. 
 	   The tax rate type makes it easy for the back-end system to handle different rates that result from changes in tax law.

    basePercentageRate
       The base tax rate in number of percentage.
       For some Tax categories (eg, ICMS for Brazil) TaxAmount will be calculated
       considering the basePercentageRate along with percentageRate.
       TaxAmount = TaxableAmount * percentageRate * basePercentageRate
       Used only in the Quote Messages.

    isIncludedInPrice
       True if the TaxAmount is included in price. Default is false.
       Used only in the Quote Messages.

-->
<!ELEMENT TaxDetail (TaxableAmount?, TaxAmount, TaxLocation?, Description?,
                     TriangularTransactionLawReference?, TaxRegime?, TaxExemption?,
					 Extrinsic*)>
<!ATTLIST TaxDetail
    taxedElement            IDREF          #IMPLIED
	purpose                 %string;       #IMPLIED
    category                %string;       #REQUIRED
    percentageRate          %r8;           #IMPLIED
    isVatRecoverable        (yes)          #IMPLIED
    taxPointDate            %datetime.tz;  #IMPLIED
    paymentDate             %datetime.tz;  #IMPLIED
    isTriangularTransaction (yes)          #IMPLIED
    exemptDetail            (zeroRated | exempt)  #IMPLIED
	isWithholdingTax        (yes)          #IMPLIED
	taxRateType				%string;	   #IMPLIED
    basePercentageRate      %r8;           #IMPLIED
    isIncludedInPrice       (yes)          #IMPLIED
>

<!--   TaxRegime is related to the type of supplier activities and the
	commodities in the invoice. Companies pay taxes based on the tax regime
	they are enrolled.   Sample tax regimes: Assimilated Regime wages, Regime
	of Small Taxpayers (REPECO), Regimen of business and professional activities,
	etc. Multiple tax regimes can be associated with a single invoice.
-->

<!ELEMENT TaxRegime (#PCDATA)>


<!--
    Definition of a cXML Tax item. This represents what a Tax element should
    be in the classic notion of a line on a PO or Invoice. It can also
    represent a per-lineitem tax element depending on where it appears
    (inside of a item ELEMENT or inside of a something like a supplierOrder
    ELEMENT).

    Represents a tax item in the shopping basket. There could be one of these
    for the entire order, or one per lineitem.

    The total amount of taxes for the line item or order should be reflected
    in the Money element. The breakdown of taxes, for example, tax on shipping
    or tax on goods should be represented in separate TaxDetail elements.
-->
<!ELEMENT Tax (Money, Description, TaxDetail*, Distribution*, Extrinsic*)>

<!--
    Defines a Modifications element which provides the original unit
    price or shipping price and then describes a set of 1 or more
    modifications to that price.  There can one per Shipping element.
    The optional method attribute defines how multiple Modification elements
    are combined.
-->
<!ELEMENT Modifications (Modification+)>

<!--
    Defines the original price or shipping price and optionally provides a type.
    Example type values might be MSRP, ListPrice, Actual, AverageSellingPrice,
    CalculationGross, BaseCharge, AverageWholesalePrice, ExportPrice, AlternatePrice,
    ContractPrice, etc.
-->
<!ELEMENT OriginalPrice (Money)>
<!ATTLIST OriginalPrice
    type            %string;  #IMPLIED
>

<!--
    Defines a Modification element and optionally provide a level: AdditionalDeduction: used only when allownces are involved
     AdditionalCost: used when additional charges are involved
     OriginalPrice represents the price on which the discount or charges apply.
     Tax represents the Tax on the Modification

	 Optional attribute level represent level of modification(using in cascading modifications).
	 Example:
	 Charge 1 (Level 1): Original Price 10$ Charge: 1$
	 Charge 2 (Level 1): Original Price 10$ Charge: 1$
	 Charge 3 (Level 2): Original Price 8$ Charge: 1$
	 Charge 4 (Level 3): Original Price 7$ Charge: 1$ ...
-->
<!ELEMENT Modification (OriginalPrice?, (AdditionalDeduction | AdditionalCost), Tax?, ModificationDetail?)>

<!ATTLIST Modification
level            %uint;  #IMPLIED
>

<!--
The type attribute can specify the type of deduction.
Eg. discount -->
<!ELEMENT AdditionalDeduction (DeductionAmount | DeductionPercent | DeductedPrice)>
<!ATTLIST AdditionalDeduction
    type            %string;  #IMPLIED
>

<!ELEMENT ModificationDetail (Description?, Extrinsic*)>
<!ATTLIST ModificationDetail
    name             %string;  #REQUIRED
	code             %string;  #IMPLIED
    startDate        %datetime.tz;  #IMPLIED
    endDate          %datetime.tz;  #IMPLIED
 >

 <!ELEMENT Value EMPTY>
 <!ATTLIST Value
	value            %number;       #REQUIRED
 >

 <!ELEMENT Percentage EMPTY>
 <!ATTLIST Percentage
 	percent          %r8;           #REQUIRED
 >

 <!--
	The Money element is the final cost amount for this Additional Cost or Charge
 	DO NOT USE THIS ELEMENT FOR SHIPPING, SPECIAL HANDLING, FREIGHT, etc
 -->
 <!ELEMENT AdditionalCost (Money|Percentage)>

<!--
    Defines discount applied.

    DiscountAmount
        	The discount expressed as a flat amount with currency.

    DiscountPercent
        	The discount rate expressed as a percentage.
-->
<!ELEMENT Discount (DiscountPercent | DiscountAmount)>


<!-- Defines the Basis for the Discount. -->

<!ELEMENT DiscountBasis (Money)>

<!-- Defines the details of adjustments given over category and region -->

<!ELEMENT TaxAdjustmentDetail (Money)>

<!ATTLIST TaxAdjustmentDetail
    category    %string;        #REQUIRED
    region      %string;        #IMPLIED
>

<!--
    Defines TaxAdjustment given on the Total Tax, currently to be used with PPR document
    to specify the total adjustments given on the Tax for the payable.

    Money
        Describes the Total Tax Adjustment given on the payable.

    TaxAdjustmentDetail
        Describes the list of all the Adjustments given on the payable on
        the basis of tax category and region.
-->
<!ELEMENT TaxAdjustment (Money, TaxAdjustmentDetail*)>

<!--
    Defines the discount rate

    percent
        The discount rate expressed as a percentage.  A negative discount percent
        represents a penalty.
-->
<!ELEMENT DiscountPercent EMPTY>
<!ATTLIST DiscountPercent
	percent          %r8;           #REQUIRED
>

<!--
    Defines the deduction rate

    percent
        The deduction rate expressed as a percentage.
-->
<!ELEMENT DeductionPercent EMPTY>
<!ATTLIST DeductionPercent
	percent          %r8;           #REQUIRED
>

<!--
    The ProductMovementItemIDInfo element provides a clear reference to the line item
    in a Consignment Movement.

    movementLineNumber
        The line number of current line item, copied from movement document.

    movementID
       The id of a consignment movement entry known to the buyer system.

    movementDate
        The date and time the product was moved from consignment inventory to the buyer inventory.
-->
<!ELEMENT ProductMovementItemIDInfo (IdReference*)>
<!ATTLIST ProductMovementItemIDInfo
    movementLineNumber        %uint;              #REQUIRED
    movementID                %string;            #REQUIRED
    movementDate              %datetime.tz;       #REQUIRED
>


<!-- The InvoiceItemIDInfo element provides a clear reference to the line item  in a InvoiceDetailRequest document.

    invoiceLineNumber
        The line number of a line item, copied from InvoiceDetailRequest.

    invoiceID
        The id of an invoice known to the supplier system.

    invoiceDate
        The invoice date.
-->
<!ELEMENT InvoiceItemIDInfo (IdReference*)>
<!ATTLIST InvoiceItemIDInfo
    invoiceLineNumber        %uint;              #REQUIRED
    invoiceID                %string;            #REQUIRED
    invoiceDate              %datetime.tz;       #IMPLIED
>

<!--
  ReturnQuantity
    Quantity that was returned.
-->
<!ELEMENT ReturnQuantity (UnitOfMeasure)>

<!ATTLIST ReturnQuantity
    quantity        %r8; #REQUIRED
>
<!--
    For cXML license agreement information, please see
    http://www.cxml.org/home/license.asp

    $Id: //ariba/cxml/modules/Version.mod#4 $
-->

<!--
     Another top-level entity used in Transport.mod.  Defined here to allow
     easy updates to the release version of cXML without opening

t/xml-catalog/cXML-1.2.036/cXML.dtd  view on Meta::CPAN

   
   Address
       To provide a plant location description, the domain attribute of the element IdReference should be set to "buyerLocationID", the identifier to the plantID.
       The addressIDDomain should be set to "buyerLocationID" and the addressID to the plantID. Use the name for the description.

-->
<!ELEMENT ShipTo (Address, CarrierIdentifier*, TransportInformation*, IdReference*)>

<!--
    Definition of a cXML Shipping item. Represents a shipping cost in the
    shopping basket (PunchOutOrderMessage) or an order to the supplier
    (OrderRequest). There could be one of these for the entire order, or one
    per lineitem.
    The Modifications element (if present) represents any changes to
    the shipping cost.

    trackingDomain
        represents the logistics supplier, I.E., "FedEx", "UPS", etc.

    trackingId
        an optional element value that represents the logistics supplier
        tracking number

    tracking
        Deprecated - Do Not Use
-->
<!ELEMENT Shipping (Money, Description, Modifications?)>
<!ATTLIST Shipping
    trackingDomain  %string;  #IMPLIED
    trackingId      %string;  #IMPLIED
    tracking        %string;  #IMPLIED
>

<!--
    Defines the payment terms in a PaymentProposalRequest document.

    Description
    A general description on payment terms.

    Extrinsic
    Additional information related to this payment terms.

    paymentTermCode
    This is the payment term code defined by buyers in ERP.

-->
<!ELEMENT PaymentTerms (PaymentTerm*, Description?, Extrinsic*)>
<!ATTLIST PaymentTerms
    paymentTermCode        %string;         #REQUIRED
>

<!--
    Defines a payment term in an invoice or order.  This deprecates the
		InvoiceDetailPaymentTerm previously defined.  Payment term can be the 
		net term (without discount) or discount term (with discount).

    payInNumberOfDays
        The number of days after invoice effective date for the invoice to be paid.

    Discount
	 	The percentage or amount of the discount term.  This element should be omitted
	 	if the payment term is a net term.
    Extrinsic
	Additional information related to this payment term.
-->
<!ELEMENT PaymentTerm (Discount?, Extrinsic*)>
<!ATTLIST PaymentTerm
    payInNumberOfDays        %uint;         #REQUIRED
>

<!--
    The list of valid payment types.
-->
<!ENTITY % cxml.payment  "PCard">
<!ELEMENT Payment (%cxml.payment;)>

<!--
    Defines an accounting segment.  Segment is an older, deprecated way to
    transport this information.

    type
        The accounting type of this segment.

    id
        The unique key of this Segment against the type.

    description
        Textual description of the Segment. For human readability.
-->
<!ELEMENT Segment EMPTY>
<!ATTLIST Segment
    type         %string;  #REQUIRED
    id           %string;  #REQUIRED
    description  %string;  #REQUIRED
>

<!--
    Defines an accounting segment.  AccountingSegment is the newer, better
    way to transport this information.  Name corresponds to the type
    attribute of Segment; Description corresponds to description.  Both add
    required locale attributes to the strings.

    id
        The unique key of this Segment against the type.
-->
<!ELEMENT AccountingSegment ( Name, Description )>
<!ATTLIST AccountingSegment
    id           %string;  #REQUIRED
>

<!--
    An accounting object.  Use of the Segment element here is deprecated.

    name
        The name of the object containing the specified accounting segments.
-->
<!ENTITY % cxml.accounting  "( Segment+ | AccountingSegment+ )">
<!ELEMENT Accounting (%cxml.accounting;)>
<!ATTLIST Accounting
    name  %string;  #REQUIRED
>

t/xml-catalog/cXML-1.2.036/cXML.dtd  view on Meta::CPAN

<!--
    The representation of a contract line item to be sent to external system.

    TermsOfDelivery
        Optional item level incoTerms.

    ReferenceDocumentInfo
        Optional reference document info for this line item.
        For example, Requisition or RFQ in the external system.
        <ReferenceDocumentInfo lineNumber = "1">
            <DocumentInfo documentID = "RFQ12345"
                          documentType = "RFQ"
                          documentDate = "2005-11-07T07:03:34-05:00">
            </DocumentInfo>
        </ReferenceDocumentInfo>

    Note:
        The lineNumber attribute in the <ItemIn> will be used to specify the corresponding
        lineNumber on the contract in the source buyer system.
        At an implementation, level checks should be made to validate this.

    Note:
        itemClassification attribute in the <ItemIn> will be used to specify whether the current line item is material or service.

    Note:
        The external system Id of PaymentTerm can be sent as an extrinsic inside of <PaymentTerm>
        For example,
         <PaymentTerm payInNumberOfDays="30">
             <Extrinsic name="Id">Net30</Extrinsic>
         </PaymentTerm>

    Note:
         Address in ShipTo will be used specify Location (Plant or StorageLocation for SAP) of the line item.
         For example,
         <ShipTo>
             <Address
                  addressID="3000"
                  addressIDDomain="buyerLocationID"
                  isoCountryCode="US">
                 <Name xml:lang="en">Plant 3000</Name>
             </Address>
          </ShipTo>


    Note:
        <IdReference> in <ItemID> will be used to send the corresponding line number of the
        contract in the external system. For example, domain = 'SAPLineNumber', identifier='0100'

    Note:
        The quantity attribute in the ItemIn tag should be set to target quantity. If the line item is amount based,
        it could be set to one.

    Note:
        The UnitsOfMeasure of Min/MaxQuantity and Min/MaxReleaseQuantity is same as the one in ItemDetail.

    Note:
        The MaxReleaseAmount/Quantity and MinReleaseAmount/Quantity at an item level
        indicate the item level amounts and quantities per release (purchase order).

    Note:
        <Modifications> in <UnitPrice> will be used to send Discount amount/percent, Surcharges, Tax, and etc.
        For example,
        <UnitPrice>
            <Money currency="USD">1000.00</Money>
            <Modifications>
                 <Modification>
                     <AdditionalDeduction type="DISCOUNT">
                         <DeductionAmount>
                             <Money currency="USD">10.00</Money>
                         </DeductionAmount>
                     </AdditionalDeduction>
                 </Modification>
            </Modifications>
        </UnitPrice>
	
	operation
		Represents the state of the Contract line item that is being sent to the external system. 
		new: represents new contract line item sent to External system
		update: represents update to an existing contract line item 
		delete: represents instruction to delete this contract line item in external system.

-->
<!ELEMENT ContractItemIn (MaxAmount?, MinAmount?, MaxReleaseAmount?, MinReleaseAmount?,
        MaxQuantity?, MinQuantity?, MaxReleaseQuantity?, MinReleaseQuantity?,
        TermsOfDelivery?, ItemIn, ReferenceDocumentInfo*)>
<!ATTLIST ContractItemIn
        operation  (new | update | delete) #IMPLIED
        >

<!--
    Identifies Parent contract Id if the current contract is a part of an hierarchy.
-->
<!ELEMENT ParentContractInfo (DocumentInfo)>

<!--
    Identifies legal entity in the external system.

    identifier
         Unique Id for Legal Entity. For example, 3000.
    domain
        Domain is the name of the legal entity in the external system.
        For example, CompanyCode for SAP, BusinessUnit for PSoft

-->
<!ELEMENT LegalEntity (IdReference)>

<!--
    Identifies Purchase Unit or Purchase group in the external system.

    identifier
         Unique Id for Purchase Unit or Purchase Group. For example, 3000.

    domain
        Domain is the name of the purchase unit or Purchase group in the external system.
        For example, PurchasingOrganization or PurchasingGroup for SAP
-->
<!ELEMENT OrganizationalUnit (IdReference)>

<!--
    The representation of a contract status including line items.



( run in 0.773 second using v1.01-cache-2.11-cpan-ceb78f64989 )