<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:a="http://www.sat.gob.mx/cfd/2" exclude-result-prefixes="xsl a" version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
	<xsl:template match="/">
		<eInvoice Currency="MXN" XRate="1" ShipsStaysID="0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sat.gob.mx/cfd/2" CreditPeriod=" " xsi:schemaLocation="http://www.sat.gob.mx/cfd/2 file://c:\Program%20Files\SonicSoftware\Stylus%20Studio\bin\eFactura.xsd">
			<xsl:attribute name="InvoiceNumber">
				<xsl:for-each select="ZMEXINVOICE/IDOC/E1EDK01">
					<xsl:value-of select="BELNR"/>
				</xsl:for-each>
			</xsl:attribute>
			<xsl:attribute name="CreditPeriod">
				<xsl:for-each select="ZMEXINVOICE/IDOC/E1EDK02">
					<xsl:if test="QUALF='009'">
						<xsl:value-of select="concat(substring(DATUM,1,4),'-')"/>
						<xsl:value-of select="concat(substring(DATUM,5,2),'-')"/>
						<xsl:value-of select="concat(substring(DATUM,7,2),'T')"/>
						<xsl:value-of select="concat(substring(UZEIT,1,2),':')"/>
						<xsl:value-of select="concat(substring(UZEIT,3,2),':')"/>
						<xsl:value-of select="concat(substring(UZEIT,5,2),' ')"/>
					</xsl:if>
				</xsl:for-each>
			</xsl:attribute>
			<xsl:for-each select="ZMEXINVOICE/IDOC/E1EDP01/E1EDP02">
				<xsl:attribute name="DeliveryID">
					<xsl:if test="QUALF='016'">
						<xsl:value-of select="BELNR"/>
					</xsl:if>
				</xsl:attribute>
			</xsl:for-each>
			<xsl:attribute name="NumberPO">
				<xsl:for-each select="ZMEXINVOICE/IDOC/E1EDK02">
					<xsl:if test="QUALF='002'">
						<xsl:value-of select="BELNR"/>
					</xsl:if>
				</xsl:for-each>
			</xsl:attribute>
			<xsl:attribute name="PaymentConditions">
				<xsl:for-each select="ZMEXINVOICE/IDOC/E1EDK01/Z1MDK01">
					<xsl:if test="string-length(PAYTERMS)&gt;0">
						<xsl:value-of select="PAYTERMS"/>
					</xsl:if>
				</xsl:for-each>
			</xsl:attribute>
			<xsl:attribute name="PaymentDueDate">
				<xsl:for-each select="ZMEXINVOICE/IDOC/E1EDK03">
					<xsl:if test="IDDAT='028'">
						<xsl:value-of select="DATUM"/>
					</xsl:if>
				</xsl:for-each>
			</xsl:attribute>
			<xsl:attribute name="PaymentMetod">
				<xsl:value-of select="ZMEXINVOICE/IDOC/E1EDK01/Z1MDK01/PAYTEXT"/>
			</xsl:attribute>
			<xsl:attribute name="Text">
				<xsl:for-each select="ZMEXINVOICE/IDOC/E1EDKT1">
					<xsl:if test="TDID='Z604'">
						<xsl:for-each select="E1EDKT2">
							<xsl:value-of select="TDLINE"/>
						</xsl:for-each>
					</xsl:if>
				</xsl:for-each>
			</xsl:attribute>
			<xsl:attribute name="Total">
				<xsl:for-each select="ZMEXINVOICE/IDOC/E1EDS01">
					<xsl:if test="SUMID='010'">
						<xsl:value-of select="SUMME"/>
					</xsl:if>
				</xsl:for-each>
			</xsl:attribute>
			<xsl:attribute name="TotalLetter">
				<xsl:value-of select="ZMEXINVOICE/IDOC/E1EDK01/Z1MDK01/TOTTEXT"/>
			</xsl:attribute>
			<xsl:attribute name="VendorID">
				<xsl:for-each select="ZMEXINVOICE/IDOC/E1EDKA1">
					<xsl:if test="PARVW='WE'">
						<xsl:value-of select="PARTN"/>
					</xsl:if>
				</xsl:for-each>
			</xsl:attribute>
			<xsl:attribute name="Volume">
				<xsl:value-of select="ZMEXINVOICE/IDOC/E1EDK01/Z1MDK01/TOTALVOL"/>
			</xsl:attribute>
			<xsl:attribute name="VolumeUnit">
				<xsl:value-of select="ZMEXINVOICE/IDOC/E1EDK01/Z1MDK01/VOLUOM"/>
			</xsl:attribute>
			<xsl:attribute name="Weight">
				<xsl:value-of select="ZMEXINVOICE/IDOC/E1EDK01/Z1MDK01/GROSSWT"/>
			</xsl:attribute>
			<xsl:attribute name="WeightUnit">
				<xsl:value-of select="ZMEXINVOICE/IDOC/E1EDK01/Z1MDK01/GROSSUOM"/>
			</xsl:attribute>
			<xsl:attribute name="datePO">
				<xsl:for-each select="ZMEXINVOICE/IDOC/E1EDK02">
					<xsl:if test="QUALF='001'">
						<xsl:value-of select="concat(substring(DATUM,1,4),'-')"/>
						<xsl:value-of select="concat(substring(DATUM,5,2),'-')"/>
						<xsl:value-of select="concat(substring(DATUM,7,2),'T')"/>
						<xsl:value-of select="concat(substring(UZEIT,1,2),':')"/>
						<xsl:value-of select="concat(substring(UZEIT,3,2),':')"/>
						<xsl:value-of select="concat(substring(UZEIT,5,2),' ')"/>
					</xsl:if>
				</xsl:for-each>
			</xsl:attribute>
			<xsl:attribute name="dateTtime">
				<xsl:for-each select="ZMEXINVOICE/IDOC/E1EDK02">
					<xsl:if test="QUALF='009'">
						<xsl:value-of select="concat(substring(DATUM,1,4),'-')"/>
						<xsl:value-of select="concat(substring(DATUM,5,2),'-')"/>
						<xsl:value-of select="concat(substring(DATUM,7,2),'T')"/>
						<xsl:value-of select="concat(substring(UZEIT,1,2),':')"/>
						<xsl:value-of select="concat(substring(UZEIT,3,2),':')"/>
						<xsl:value-of select="concat(substring(UZEIT,5,2),' ')"/>
					</xsl:if>
				</xsl:for-each>
			</xsl:attribute>
			<xsl:attribute name="eInvoiceEffect">
				<xsl:value-of select="ZMEXINVOICE/IDOC/E1EDK01/BSART"/>
			</xsl:attribute>
			<xsl:attribute name="subTotal">
				<xsl:for-each select="ZMEXINVOICE/IDOC/E1EDS01">
					<xsl:if test="SUMID='010'">
						<xsl:value-of select="SUMME"/>
					</xsl:if>
				</xsl:for-each>
			</xsl:attribute>
			<InvoiceTo>
				<xsl:for-each select="ZMEXINVOICE/IDOC/E1EDKA1">
					<xsl:if test="PARVW='RE'">
						<xsl:attribute name="SAPid">
							<xsl:value-of select="PARTN"/>
						</xsl:attribute>
						<xsl:attribute name="rfc">
							<xsl:value-of select="ILNNR"/>
						</xsl:attribute>
						<xsl:attribute name="Name">
							<xsl:value-of select="NAME1"/>
						</xsl:attribute>
						<Address>
							<xsl:attribute name="City">
								<xsl:value-of select="ORT01"/>
							</xsl:attribute>
							<xsl:attribute name="MunicipalityDelegation">
								<xsl:value-of select="ORT02"/>
							</xsl:attribute>
							<xsl:attribute name="State">
								<xsl:value-of select="REGIO"/>
							</xsl:attribute>
							<xsl:attribute name="Street">
								<xsl:value-of select="STRAS"/>
							</xsl:attribute>
							<xsl:attribute name="ZipCode">
								<xsl:value-of select="PSTLZ"/>
							</xsl:attribute>
						</Address>
					</xsl:if>
				</xsl:for-each>
			</InvoiceTo>
			<ShipTo>
				<xsl:for-each select="ZMEXINVOICE/IDOC/E1EDKA1">
					<xsl:if test="PARVW='WE' and string-length(../ILNNR)>0">
						<xsl:attribute name="rfc">
							<xsl:value-of select="ILNNR"/>
						</xsl:attribute>
					</xsl:if>
					  <xsl:if test="PARVW='WE'">  
						<xsl:attribute name="SAPid">
							<xsl:value-of select="PARTN"/>
						</xsl:attribute>
						<xsl:attribute name="Name">
							<xsl:value-of select="NAME1"/>
						</xsl:attribute>
						<FiscalAddress>
							<xsl:attribute name="City">
								<xsl:value-of select="ORT01"/>
							</xsl:attribute>
							<xsl:attribute name="MunicipalityDelegation">
								<xsl:value-of select="ORT02"/>
							</xsl:attribute>
							<xsl:attribute name="State">
								<xsl:value-of select="REGIO"/>
							</xsl:attribute>
							<xsl:attribute name="Street">
								<xsl:value-of select="STRAS"/>
							</xsl:attribute>
							<xsl:attribute name="ZipCode">
								<xsl:value-of select="PSTLZ"/>
							</xsl:attribute>
						</FiscalAddress>
					  </xsl:if>
				</xsl:for-each>
			</ShipTo>
			<Concepts>
				<xsl:for-each select="ZMEXINVOICE/IDOC/E1EDP01">
					<Concept Tax="IVA">
						<xsl:attribute name="Amount">
							<xsl:for-each select="E1EDP26">
								<xsl:if test="QUALF='002'">
									<xsl:value-of select="BETRG"/>
								</xsl:if>
							</xsl:for-each>
						</xsl:attribute>
						<xsl:attribute name="ClientID">
							<xsl:for-each select="E1EDP19">
								<xsl:if test="QUALF='002'">
									<xsl:value-of select="substring(KTEXT,1,6)"/>
								</xsl:if>
							</xsl:for-each>
						</xsl:attribute>
						<xsl:attribute name="Description">
							<xsl:for-each select="E1EDP19">
								<xsl:if test="QUALF='002'">
									<xsl:value-of select="KTEXT"/>
								</xsl:if>
							</xsl:for-each>
						</xsl:attribute>
						<xsl:attribute name="Quantity">
							<xsl:value-of select="MENGE"/>
						</xsl:attribute>
						<xsl:attribute name="SAPID">
							<xsl:for-each select="E1EDP19">
								<xsl:if test="QUALF='002'">
									<xsl:value-of select="IDTNR"/>
								</xsl:if>
							</xsl:for-each>
						</xsl:attribute>
						<xsl:attribute name="SerialNumber">
							<xsl:for-each select="E1EDP19">
								<xsl:if test="QUALF='003'">
									<xsl:value-of select="IDTNR"/>
								</xsl:if>
							</xsl:for-each>
						</xsl:attribute>
						<xsl:attribute name="TaxRate">
							<xsl:for-each select="E1EDP04">
								<xsl:if test="MWSKZ='A2'">
									<xsl:value-of select="MSATZ"/>
								</xsl:if>
							</xsl:for-each>
						</xsl:attribute>
						<xsl:attribute name="Unit">
							<xsl:if test="MENEE='SKU'">
								<xsl:value-of select="('piece')"/>
							</xsl:if>
						</xsl:attribute>
						<xsl:attribute name="UnitaryPrice">
							<xsl:for-each select="E1EDP26">
								<xsl:if test="QUALF='001'">
									<xsl:value-of select="BETRG"/>
								</xsl:if>
							</xsl:for-each>
						</xsl:attribute>
						<xsl:for-each select="Z1MDP01">
							<CustomInformation>
								<xsl:attribute name="Custom">
									<xsl:value-of select="CUSTOMTXT"/>
								</xsl:attribute>
								<xsl:attribute name="Date">
									<xsl:value-of select="CUSTOMDT"/>
								</xsl:attribute>
								<xsl:attribute name="Number">
									<xsl:value-of select="CUSTOMNO"/>
								</xsl:attribute>
							</CustomInformation>
						</xsl:for-each>
					</Concept>
				</xsl:for-each>
			</Concepts>
			<Taxes TotalTranslatedTax="0">
				<xsl:attribute name="TotalRetainedTax">
					<xsl:for-each select="ZMEXINVOICE/IDOC/E1EDS01">
						<xsl:if test="SUMID='005'">
							<xsl:value-of select="SUMME"/>
						</xsl:if>
					</xsl:for-each>
				</xsl:attribute>
				<RetainedTax>
					<Retained Description="IVA">
						<xsl:attribute name="Amount">
							<xsl:for-each select="ZMEXINVOICE/IDOC/E1EDS01">
								<xsl:if test="SUMID='005'">
									<xsl:value-of select="SUMME"/>
								</xsl:if>
							</xsl:for-each>
						</xsl:attribute>
					</Retained>
				</RetainedTax>
			</Taxes>
		</eInvoice>
	</xsl:template>
</xsl:stylesheet><!-- Stylus Studio meta-information - (c)1998-2003. Sonic Software Corporation. All rights reserved.
<metaInformation>
<scenarios ><scenario default="no" name="Scenario4" userelativepaths="yes" externalpreview="no" url="O_030_0000000003824103.xml" htmlbaseurl="Invoiceout6" outputurl="file://h:\InvoiceOut5.xml" processortype="internal" profilemode="0" urlprofilexml="" commandline="" additionalpath="" additionalclasspath="" postprocessortype="none" postprocesscommandline="" postprocessadditionalpath="" postprocessgeneratedext=""/><scenario default="yes" name="Scenario6" userelativepaths="yes" externalpreview="no" url="O_030_0000000020227215.xml" htmlbaseurl="Invoiceout9" outputurl="file://h:\InvoiceOut9.xml" processortype="internal" profilemode="0" urlprofilexml="" commandline="" additionalpath="" additionalclasspath="" postprocessortype="none" postprocesscommandline="" postprocessadditionalpath="" postprocessgeneratedext=""/></scenarios><MapperInfo srcSchemaPath="ZMEXINVOICE.dtd" srcSchemaRoot="ZMEXINVOICE" srcSchemaPathIsRelative="yes" srcSchemaInterpretAsXML="no" destSchemaPath="eFactura.xsd" destSchemaRoot="eInvoice" destSchemaPathIsRelative="yes" destSchemaInterpretAsXML="no"/>
</metaInformation>
-->