Merge branch 'ZUGFeRD:master' into fix-logback
This commit is contained in:
@@ -3,11 +3,14 @@ package org.mustangproject.Exceptions;
|
||||
import java.text.ParseException;
|
||||
|
||||
/***
|
||||
* will be thrown if a invoice cant be reproduced numerically
|
||||
* will be thrown if an invoice cant be reproduced numerically
|
||||
*/
|
||||
public class ArithmetricException extends ParseException {
|
||||
public ArithmetricException() {
|
||||
super(
|
||||
"Could not reproduce the invoice, this could mean that it could not be read properly", 0);
|
||||
this("");
|
||||
}
|
||||
|
||||
public ArithmetricException(String details) {
|
||||
super("Could not reproduce the invoice. " + details, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
public class Invoice implements IExportableTransaction {
|
||||
|
||||
protected String documentName = null, documentCode = null, number = null, ownOrganisationFullPlaintextInfo = null, referenceNumber = null, shipToOrganisationID = null, shipToOrganisationName = null, shipToStreet = null, shipToZIP = null, shipToLocation = null, shipToCountry = null, buyerOrderReferencedDocumentID = null, invoiceReferencedDocumentID = null, buyerOrderReferencedDocumentIssueDateTime = null, ownForeignOrganisationID = null, ownOrganisationName = null, currency = null, paymentTermDescription = null;
|
||||
protected String documentName = null, documentCode = null, number = null, ownOrganisationFullPlaintextInfo = null, referenceNumber = null, shipToOrganisationID = null, shipToOrganisationName = null, shipToStreet = null, shipToZIP = null, shipToLocation = null, shipToCountry = null, buyerOrderReferencedDocumentID = null, buyerOrderReferencedDocumentIssueDateTime = null, ownForeignOrganisationID = null, ownOrganisationName = null, currency = null, paymentTermDescription = null;
|
||||
protected Date issueDate = null, dueDate = null, deliveryDate = null;
|
||||
protected TradeParty sender = null, recipient = null, deliveryAddress = null, payee = null;
|
||||
protected ArrayList<CashDiscount> cashDiscounts = null;
|
||||
@@ -57,7 +57,12 @@ public class Invoice implements IExportableTransaction {
|
||||
protected ArrayList<IZUGFeRDAllowanceCharge> Allowances = new ArrayList<>(),
|
||||
Charges = new ArrayList<>(), LogisticsServiceCharges = new ArrayList<>();
|
||||
protected IZUGFeRDPaymentTerms paymentTerms = null;
|
||||
|
||||
protected String invoiceReferencedDocumentID = null;
|
||||
protected Date invoiceReferencedIssueDate;
|
||||
// New field for storing Invoiced Object Identifier (BG-3)
|
||||
protected ArrayList<ReferencedDocument> invoiceReferencedDocuments = null;
|
||||
|
||||
protected String specifiedProcuringProjectID = null;
|
||||
protected String specifiedProcuringProjectName = null;
|
||||
protected String despatchAdviceReferencedDocumentID = null;
|
||||
@@ -148,6 +153,7 @@ public class Invoice implements IExportableTransaction {
|
||||
*/
|
||||
public Invoice setCorrection(String number) {
|
||||
setInvoiceReferencedDocumentID(number);
|
||||
addInvoiceReferencedDocument(new ReferencedDocument(number));
|
||||
documentCode = DocumentCodeTypeConstants.CORRECTEDINVOICE;
|
||||
return this;
|
||||
}
|
||||
@@ -546,6 +552,26 @@ public class Invoice implements IExportableTransaction {
|
||||
return this;
|
||||
}
|
||||
|
||||
// Getter for BG-3
|
||||
@Override
|
||||
public ArrayList<ReferencedDocument> getInvoiceReferencedDocuments() {
|
||||
return invoiceReferencedDocuments;
|
||||
}
|
||||
|
||||
// Setter for BG-3
|
||||
public void setInvoiceReferencedDocuments(ArrayList<ReferencedDocument> invoiceReferencedDocuments) {
|
||||
this.invoiceReferencedDocuments = invoiceReferencedDocuments;
|
||||
}
|
||||
|
||||
// Method to add a single ReferencedDocument for BG-3
|
||||
public Invoice addInvoiceReferencedDocument(ReferencedDocument doc) {
|
||||
if (invoiceReferencedDocuments == null) {
|
||||
invoiceReferencedDocuments = new ArrayList<>();
|
||||
}
|
||||
invoiceReferencedDocuments.add(doc);
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IZUGFeRDAllowanceCharge[] getZFAllowances() {
|
||||
if (Allowances.isEmpty()) {
|
||||
|
||||
@@ -352,7 +352,7 @@ public class Item implements IZUGFeRDExportableItem {
|
||||
|
||||
/***
|
||||
* Adds a item level addition to the price (will be multiplied by quantity)
|
||||
* @see org.mustangproject.Charge
|
||||
* @see Charge
|
||||
* @param izac a relative or absolute charge
|
||||
* @return fluent setter
|
||||
*/
|
||||
@@ -363,7 +363,7 @@ public class Item implements IZUGFeRDExportableItem {
|
||||
|
||||
/***
|
||||
* Adds a item level reduction the price (will be multiplied by quantity)
|
||||
* @see org.mustangproject.Allowance
|
||||
* @see Allowance
|
||||
* @param izac a relative or absolute allowance
|
||||
* @return fluent setter
|
||||
*/
|
||||
@@ -383,10 +383,23 @@ public class Item implements IZUGFeRDExportableItem {
|
||||
}
|
||||
notes.add(text);
|
||||
|
||||
addNote(IncludedNote.unspecifiedNote(text));
|
||||
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
/***
|
||||
* adds categorized item level freetext fields (includednote)
|
||||
* @param theNote IncludedNote to add
|
||||
* @return fluent setter
|
||||
*/
|
||||
public Item addNote(IncludedNote theNote) {
|
||||
|
||||
if (includedNotes == null) {
|
||||
includedNotes = new ArrayList<>();
|
||||
}
|
||||
includedNotes.add(IncludedNote.unspecifiedNote(text));
|
||||
includedNotes.add(theNote);
|
||||
|
||||
|
||||
return this;
|
||||
|
||||
@@ -2,6 +2,8 @@ package org.mustangproject;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import java.util.Date;
|
||||
|
||||
import org.mustangproject.ZUGFeRD.IReferencedDocument;
|
||||
import org.mustangproject.util.NodeMap;
|
||||
import org.w3c.dom.Node;
|
||||
@@ -13,20 +15,33 @@ public class ReferencedDocument implements IReferencedDocument {
|
||||
String issuerAssignedID;
|
||||
String typeCode;
|
||||
String referenceTypeCode;
|
||||
Date formattedIssueDateTime;
|
||||
|
||||
public ReferencedDocument(String issuerAssignedID, String typeCode, String referenceTypeCode) {
|
||||
this.issuerAssignedID = issuerAssignedID;
|
||||
this(issuerAssignedID);
|
||||
this.typeCode = typeCode;
|
||||
this.referenceTypeCode = referenceTypeCode;
|
||||
}
|
||||
|
||||
public ReferencedDocument(String issuerAssignedID, String referenceTypeCode) {
|
||||
this.issuerAssignedID = issuerAssignedID;
|
||||
this.typeCode = "916"; // additional invoice related document
|
||||
this.referenceTypeCode = referenceTypeCode;
|
||||
public ReferencedDocument(String issuerAssignedID, String typeCode, String referenceTypeCode, Date formattedIssueDateTime) {
|
||||
this(issuerAssignedID, typeCode, referenceTypeCode);
|
||||
this.formattedIssueDateTime = formattedIssueDateTime;
|
||||
}
|
||||
|
||||
/***
|
||||
public ReferencedDocument(String issuerAssignedID, String referenceTypeCode) {
|
||||
this(issuerAssignedID, "916", referenceTypeCode); // additional invoice related document
|
||||
}
|
||||
|
||||
public ReferencedDocument(String issuerAssingedID, Date formattedIssueDateTime) {
|
||||
this(issuerAssingedID);
|
||||
this.formattedIssueDateTime = formattedIssueDateTime;
|
||||
}
|
||||
|
||||
public ReferencedDocument(String issuerAssignedID) {
|
||||
this.issuerAssignedID = issuerAssignedID;
|
||||
}
|
||||
|
||||
/***
|
||||
* sets an ID assigned by the sender
|
||||
* @param issuerAssignedID the ID as a string :-)
|
||||
*/
|
||||
@@ -50,6 +65,15 @@ public class ReferencedDocument implements IReferencedDocument {
|
||||
this.referenceTypeCode = referenceTypeCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* issue date of this line
|
||||
*
|
||||
* @param formattedIssueDateTime as Date
|
||||
*/
|
||||
public void setFormattedIssueDateTime(Date formattedIssueDateTime) {
|
||||
this.formattedIssueDateTime = formattedIssueDateTime;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getIssuerAssignedID() {
|
||||
return issuerAssignedID;
|
||||
@@ -65,6 +89,12 @@ public class ReferencedDocument implements IReferencedDocument {
|
||||
return referenceTypeCode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Date getFormattedIssueDateTime()
|
||||
{
|
||||
return formattedIssueDateTime;
|
||||
}
|
||||
|
||||
public static ReferencedDocument fromNode(Node node) {
|
||||
if (!node.hasChildNodes()) {
|
||||
return null;
|
||||
@@ -72,6 +102,7 @@ public class ReferencedDocument implements IReferencedDocument {
|
||||
NodeMap nodes = new NodeMap(node);
|
||||
return new ReferencedDocument(nodes.getAsStringOrNull("IssuerAssignedID", "ID"),
|
||||
nodes.getAsStringOrNull("TypeCode", "DocumentTypeCode"),
|
||||
nodes.getAsStringOrNull("ReferenceTypeCode"));
|
||||
nodes.getAsStringOrNull("ReferenceTypeCode"),
|
||||
XMLTools.tryDate(nodes.getAsStringOrNull("FormattedIssueDateTime")));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,11 +30,13 @@ package org.mustangproject.ZUGFeRD;
|
||||
* */
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.mustangproject.FileAttachment;
|
||||
import org.mustangproject.IncludedNote;
|
||||
import org.mustangproject.ReferencedDocument;
|
||||
import org.mustangproject.ZUGFeRD.model.DocumentCodeTypeConstants;
|
||||
|
||||
/***
|
||||
@@ -424,13 +426,23 @@ public interface IExportableTransaction {
|
||||
*
|
||||
* @return the ID of the document
|
||||
*/
|
||||
@Deprecated
|
||||
default String getInvoiceReferencedDocumentID() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
default Date getInvoiceReferencedIssueDate() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for BG-3
|
||||
* @return list of documents
|
||||
*/
|
||||
default ArrayList<ReferencedDocument> getInvoiceReferencedDocuments() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* get the issue timestamp of the BuyerOrderReferencedDocument, which sits in
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package org.mustangproject.ZUGFeRD;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
public interface IReferencedDocument {
|
||||
|
||||
/***
|
||||
@@ -20,4 +22,12 @@ public interface IReferencedDocument {
|
||||
*/
|
||||
String getReferenceTypeCode();
|
||||
|
||||
/***
|
||||
*
|
||||
* issue date of this line
|
||||
*
|
||||
* @return date of the issue
|
||||
*/
|
||||
Date getFormattedIssueDateTime();
|
||||
|
||||
}
|
||||
|
||||
@@ -459,6 +459,19 @@ public class OXPullProvider extends ZUGFeRD2PullProvider {
|
||||
}
|
||||
xml += "</ram:InvoiceReferencedDocument>";
|
||||
}
|
||||
if (trans.getInvoiceReferencedDocuments() != null) {
|
||||
for (var doc : trans.getInvoiceReferencedDocuments()) {
|
||||
xml += "<ram:InvoiceReferencedDocument>"
|
||||
+ "<ram:IssuerAssignedID>"
|
||||
+ XMLTools.encodeXML(doc.getIssuerAssignedID()) + "</ram:IssuerAssignedID>";
|
||||
if (doc.getFormattedIssueDateTime() != null) {
|
||||
xml += "<ram:FormattedIssueDateTime>"
|
||||
+ DATE.qdtFormat(doc.getFormattedIssueDateTime())
|
||||
+ "</ram:FormattedIssueDateTime>";
|
||||
}
|
||||
xml += "</ram:InvoiceReferencedDocument>";
|
||||
}
|
||||
}
|
||||
|
||||
xml += "</ram:ApplicableHeaderTradeSettlement>";
|
||||
// + " <IncludedSupplyChainTradeLineItem>"
|
||||
|
||||
@@ -4,7 +4,10 @@ import static java.math.BigDecimal.ZERO;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/***
|
||||
@@ -91,17 +94,14 @@ public class TransactionCalculator implements IAbsoluteValueProvider {
|
||||
}
|
||||
|
||||
private String getAllowanceChargeReasonForPercent(BigDecimal percent, IZUGFeRDAllowanceCharge[] charges) {
|
||||
String res = " ";
|
||||
if ((charges != null) && (charges.length > 0)) {
|
||||
for (IZUGFeRDAllowanceCharge currentCharge : charges) {
|
||||
if ((percent == null) || (currentCharge.getTaxPercent().compareTo(percent) == 0)
|
||||
&& currentCharge.getReason() != null) {
|
||||
res += currentCharge.getReason() + " ";
|
||||
}
|
||||
}
|
||||
if (charges == null) {
|
||||
return "";
|
||||
}
|
||||
res = res.substring(0, res.length() - 1);
|
||||
return res;
|
||||
return Arrays.stream(charges)
|
||||
.filter(currentCharge -> (percent == null || currentCharge.getTaxPercent().compareTo(percent) == 0))
|
||||
.map(IZUGFeRDAllowanceCharge::getReason)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.joining(" "));
|
||||
}
|
||||
|
||||
/***
|
||||
|
||||
@@ -0,0 +1,148 @@
|
||||
package org.mustangproject.ZUGFeRD;
|
||||
|
||||
import org.apache.fop.apps.*;
|
||||
import org.apache.fop.apps.io.ResourceResolverFactory;
|
||||
import org.apache.fop.configuration.Configuration;
|
||||
import org.apache.fop.configuration.ConfigurationException;
|
||||
import org.apache.fop.configuration.DefaultConfigurationBuilder;
|
||||
import org.apache.xmlgraphics.util.MimeConstants;
|
||||
import org.mustangproject.ClasspathResolverURIAdapter;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import javax.xml.transform.*;
|
||||
import javax.xml.transform.sax.SAXResult;
|
||||
import javax.xml.transform.stream.StreamResult;
|
||||
import javax.xml.transform.stream.StreamSource;
|
||||
import java.io.*;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
public class ValidationLogVisualizer {
|
||||
public enum Language {
|
||||
EN,
|
||||
FR,
|
||||
DE
|
||||
}
|
||||
|
||||
static final ClassLoader CLASS_LOADER = ValidationLogVisualizer.class.getClassLoader();
|
||||
private static final String RESOURCE_PATH = "";
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(ValidationLogVisualizer.class);
|
||||
|
||||
private TransformerFactory mFactory = null;
|
||||
private Templates mXsltPDFTemplate = null;
|
||||
|
||||
|
||||
public ValidationLogVisualizer() {
|
||||
mFactory = new net.sf.saxon.TransformerFactoryImpl();
|
||||
// fact = TransformerFactory.newInstance();
|
||||
mFactory.setURIResolver(new ValidationLogVisualizer.ClasspathResourceURIResolver());
|
||||
}
|
||||
|
||||
protected void applyXSLTToPDF(final String xmlContent, final OutputStream PDFOutstream)
|
||||
throws TransformerException {
|
||||
Transformer transformer = mXsltPDFTemplate.newTransformer();
|
||||
|
||||
transformer.transform(new StreamSource(new StringReader(xmlContent)), new StreamResult(PDFOutstream));
|
||||
}
|
||||
|
||||
protected String toFOP(final String xmlContent)
|
||||
throws TransformerException {
|
||||
|
||||
try {
|
||||
if (mXsltPDFTemplate == null) {
|
||||
mXsltPDFTemplate = mFactory.newTemplates(
|
||||
new StreamSource(CLASS_LOADER.getResourceAsStream(RESOURCE_PATH + "stylesheets/result-pdf.xsl")));
|
||||
}
|
||||
} catch (TransformerConfigurationException ex) {
|
||||
LOGGER.error("Failed to init XSLT templates", ex);
|
||||
}
|
||||
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
|
||||
try {
|
||||
|
||||
applyXSLTToPDF(xmlContent, baos);
|
||||
|
||||
} catch (Exception e1) {
|
||||
LOGGER.error("Failed to create PDF", e1);
|
||||
}
|
||||
|
||||
return baos.toString(StandardCharsets.UTF_8);
|
||||
}
|
||||
|
||||
public void toPDF(String xmlLogfileContent, String pdfFilename) {
|
||||
|
||||
// the writing part
|
||||
|
||||
String result = null;
|
||||
|
||||
/* remove file endings so that tests can also pass after checking
|
||||
out from git with arbitrary options (which may include CSRF changes)
|
||||
*/
|
||||
try {
|
||||
result = this.toFOP(xmlLogfileContent);
|
||||
} catch ( TransformerException e) {
|
||||
LOGGER.error("Failed to apply FOP", e);
|
||||
}
|
||||
DefaultConfigurationBuilder cfgBuilder = new DefaultConfigurationBuilder();
|
||||
|
||||
Configuration cfg = null;
|
||||
try {
|
||||
cfg = cfgBuilder.build(CLASS_LOADER.getResourceAsStream("fop-config.xconf"));
|
||||
} catch (ConfigurationException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
FopFactoryBuilder builder = new FopFactoryBuilder(new File(".").toURI(), new ClasspathResolverURIAdapter()).setConfiguration(cfg);
|
||||
// Step 1: Construct a FopFactory by specifying a reference to the configuration file
|
||||
// (reuse if you plan to render multiple documents!)
|
||||
|
||||
FopFactory fopFactory = builder.build();
|
||||
|
||||
fopFactory.getFontManager().setResourceResolver(
|
||||
ResourceResolverFactory.createInternalResourceResolver(
|
||||
new File(".").toURI(),
|
||||
new ClasspathResolverURIAdapter()));
|
||||
|
||||
FOUserAgent userAgent = fopFactory.newFOUserAgent();
|
||||
|
||||
userAgent.getRendererOptions().put("pdf-a-mode", "PDF/A-3b");
|
||||
|
||||
// Step 2: Set up output stream.
|
||||
// Note: Using BufferedOutputStream for performance reasons (helpful with FileOutputStreams).
|
||||
|
||||
try (OutputStream out = new BufferedOutputStream(new FileOutputStream(pdfFilename))) {
|
||||
|
||||
// Step 3: Construct fop with desired output format
|
||||
Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, userAgent, out);
|
||||
|
||||
// Step 4: Setup JAXP using identity transformer
|
||||
TransformerFactory factory = TransformerFactory.newInstance();
|
||||
Transformer transformer = factory.newTransformer(); // identity transformer
|
||||
|
||||
// Step 5: Setup input and output for XSLT transformation
|
||||
// Setup input stream
|
||||
Source src = new StreamSource(new ByteArrayInputStream(result.getBytes(StandardCharsets.UTF_8)));
|
||||
|
||||
// Resulting SAX events (the generated FO) must be piped through to FOP
|
||||
Result res = new SAXResult(fop.getDefaultHandler());
|
||||
|
||||
// Step 6: Start XSLT transformation and FOP processing
|
||||
transformer.transform(src, res);
|
||||
|
||||
} catch (FOPException | IOException | TransformerException e) {
|
||||
LOGGER.error("Failed to create PDF", e);
|
||||
}
|
||||
}
|
||||
|
||||
private static class ClasspathResourceURIResolver implements URIResolver {
|
||||
ClasspathResourceURIResolver() {
|
||||
// Do nothing, just prevents synthetic access warning.
|
||||
}
|
||||
|
||||
@Override
|
||||
public Source resolve(String href, String base) throws TransformerException {
|
||||
return new StreamSource(CLASS_LOADER.getResourceAsStream(RESOURCE_PATH + "stylesheets/" + href));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -828,6 +828,12 @@ public class ZUGFeRD2PullProvider implements IXMLProvider {
|
||||
if (paymentTermsDescription != null) {
|
||||
xml += "<ram:Description>" + paymentTermsDescription + "</ram:Description>";
|
||||
}
|
||||
|
||||
if (trans.getDueDate() != null) {
|
||||
xml += "<ram:DueDateDateTime>" // $NON-NLS-2$
|
||||
+ DATE.udtFormat(trans.getDueDate())
|
||||
+ "</ram:DueDateDateTime>";// 20130704
|
||||
}
|
||||
|
||||
if (trans.getTradeSettlement() != null) {
|
||||
for (final IZUGFeRDTradeSettlement payment : trans.getTradeSettlement()) {
|
||||
@@ -837,12 +843,6 @@ public class ZUGFeRD2PullProvider implements IXMLProvider {
|
||||
}
|
||||
}
|
||||
|
||||
if (trans.getDueDate() != null) {
|
||||
xml += "<ram:DueDateDateTime>" // $NON-NLS-2$
|
||||
+ DATE.udtFormat(trans.getDueDate())
|
||||
+ "</ram:DueDateDateTime>";// 20130704
|
||||
|
||||
}
|
||||
xml += "</ram:SpecifiedTradePaymentTerms>";
|
||||
} else {
|
||||
xml += buildPaymentTermsXml();
|
||||
@@ -893,6 +893,19 @@ public class ZUGFeRD2PullProvider implements IXMLProvider {
|
||||
}
|
||||
xml += "</ram:InvoiceReferencedDocument>";
|
||||
}
|
||||
if (trans.getInvoiceReferencedDocuments() != null) {
|
||||
for (var doc : trans.getInvoiceReferencedDocuments()) {
|
||||
xml += "<ram:InvoiceReferencedDocument>"
|
||||
+ "<ram:IssuerAssignedID>"
|
||||
+ XMLTools.encodeXML(doc.getIssuerAssignedID()) + "</ram:IssuerAssignedID>";
|
||||
if (doc.getFormattedIssueDateTime() != null) {
|
||||
xml += "<ram:FormattedIssueDateTime>"
|
||||
+ DATE.qdtFormat(doc.getFormattedIssueDateTime())
|
||||
+ "</ram:FormattedIssueDateTime>";
|
||||
}
|
||||
xml += "</ram:InvoiceReferencedDocument>";
|
||||
}
|
||||
}
|
||||
|
||||
xml += "</ram:ApplicableHeaderTradeSettlement>";
|
||||
// + "<IncludedSupplyChainTradeLineItem>\n"
|
||||
|
||||
@@ -83,8 +83,9 @@ public class ZUGFeRDExporterFromPDFA implements IZUGFeRDExporter {
|
||||
}
|
||||
|
||||
protected byte[] filenameToByteArray(String pdfFilename) throws IOException {
|
||||
FileInputStream fileInputStream = new FileInputStream(pdfFilename);
|
||||
return inputstreamToByteArray(fileInputStream);
|
||||
try (FileInputStream fileInputStream = new FileInputStream(pdfFilename)) {
|
||||
return inputstreamToByteArray(fileInputStream);
|
||||
}
|
||||
}
|
||||
|
||||
protected byte[] inputstreamToByteArray(InputStream fileInputStream) throws IOException {
|
||||
|
||||
@@ -659,6 +659,7 @@ public class ZUGFeRDImporter extends ZUGFeRDInvoiceImporter {
|
||||
*
|
||||
* @return a List of LineItem instances
|
||||
*/
|
||||
@Deprecated
|
||||
public List<Item> getLineItemList() {
|
||||
final List<Node> nodeList = getLineItemNodes();
|
||||
final List<Item> lineItemList = new ArrayList<>();
|
||||
|
||||
@@ -32,6 +32,9 @@ import java.nio.file.StandardOpenOption;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
|
||||
public class ZUGFeRDInvoiceImporter {
|
||||
|
||||
@@ -472,9 +475,11 @@ public class ZUGFeRDInvoiceImporter {
|
||||
|
||||
xpr = xpath.compile("//*[local-name()=\"SpecifiedTradeSettlementHeaderMonetarySummation\"]/*[local-name()=\"DuePayableAmount\"]|//*[local-name()=\"LegalMonetaryTotal\"]/*[local-name()=\"PayableAmount\"]");
|
||||
NodeList lineDueNodes = (NodeList) xpr.evaluate(getDocument(), XPathConstants.NODESET);
|
||||
BigDecimal duePayableAmount = null;
|
||||
if (lineDueNodes.getLength() > 0) {
|
||||
duePayableAmount = new BigDecimal(XMLTools.trimOrNull(lineDueNodes.item(0)));
|
||||
if (zpp instanceof CalculatedInvoice) {
|
||||
((CalculatedInvoice) zpp).setDuePayable(new BigDecimal(XMLTools.trimOrNull(lineDueNodes.item(0))));
|
||||
((CalculatedInvoice) zpp).setDuePayable(duePayableAmount);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -816,6 +821,23 @@ public class ZUGFeRDInvoiceImporter {
|
||||
}
|
||||
zpp.setInvoiceReferencedDocumentID(extractString("//*[local-name()=\"InvoiceReferencedDocument\"]/*[local-name()=\"IssuerAssignedID\"]|//*[local-name()=\"BillingReference\"]/*[local-name()=\"InvoiceDocumentReference\"]/*[local-name()=\"ID\"]"));
|
||||
|
||||
xpr = xpath.compile("//*[local-name()=\"InvoiceReferencedDocument\"]");
|
||||
NodeList nodes = (NodeList) xpr.evaluate(getDocument(), XPathConstants.NODESET);
|
||||
|
||||
if (nodes.getLength() != 0) {
|
||||
for (int i = 0; i < nodes.getLength(); i++) {
|
||||
|
||||
Node currentItemNode = nodes.item(i);
|
||||
ReferencedDocument doc = ReferencedDocument.fromNode(currentItemNode);
|
||||
if (doc != null
|
||||
&& (!Objects.equals(zpp.getInvoiceReferencedDocumentID(), doc.getIssuerAssignedID())
|
||||
|| !Objects.equals(zpp.getInvoiceReferencedIssueDate(), doc.getFormattedIssueDateTime())))
|
||||
{
|
||||
zpp.addInvoiceReferencedDocument(doc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
zpp.setOwnOrganisationName(extractString("//*[local-name()=\"SellerTradeParty\"]/*[local-name()=\"Name\"]|//*[local-name()=\"AccountingSupplierParty\"]/*[local-name()=\"Party\"]/*[local-name()=\"PartyName\"]").trim());
|
||||
|
||||
String rounding = extractString("//*[local-name()=\"SpecifiedTradeSettlementHeaderMonetarySummation\"]/*[local-name()=\"RoundingAmount\"]|//*[local-name()=\"LegalMonetaryTotal\"]/*[local-name()=\"Party\"]/*[local-name()=\"PayableRoundingAmount\"]");
|
||||
@@ -834,7 +856,7 @@ public class ZUGFeRDInvoiceImporter {
|
||||
}
|
||||
|
||||
xpr = xpath.compile("//*[local-name()=\"IncludedSupplyChainTradeLineItem\"]|//*[local-name()=\"InvoiceLine\"]");
|
||||
NodeList nodes = (NodeList) xpr.evaluate(getDocument(), XPathConstants.NODESET);
|
||||
nodes = (NodeList) xpr.evaluate(getDocument(), XPathConstants.NODESET);
|
||||
|
||||
if (nodes.getLength() != 0) {
|
||||
for (int i = 0; i < nodes.getLength(); i++) {
|
||||
@@ -938,8 +960,7 @@ public class ZUGFeRDInvoiceImporter {
|
||||
|
||||
|
||||
TransactionCalculator tc = new TransactionCalculator(zpp);
|
||||
String expectedStringTotalGross = tc.getGrandTotal()
|
||||
.subtract(Objects.requireNonNullElse(zpp.getTotalPrepaidAmount(), BigDecimal.ZERO)).toPlainString();
|
||||
String calculatedPayableTotal = tc.getDuePayable().toPlainString();
|
||||
EStandard whichType;
|
||||
try {
|
||||
whichType = getStandard();
|
||||
@@ -947,10 +968,21 @@ public class ZUGFeRDInvoiceImporter {
|
||||
throw new StructureException("Could not find out if it's an invoice, order, or delivery advice", 0);
|
||||
}
|
||||
|
||||
if ((whichType != EStandard.despatchadvice)
|
||||
&& ((!expectedStringTotalGross.equals(XMLTools.nDigitFormat(expectedGrandTotal, 2)))
|
||||
&& (!ignoreCalculationErrors))) {
|
||||
throw new ArithmetricException();
|
||||
if (whichType != EStandard.despatchadvice && !ignoreCalculationErrors) {
|
||||
// Check calculation if document type allows it and calculation errors should not be ignored
|
||||
|
||||
String payableTotalFromXml = XMLTools.nDigitFormat(Objects.requireNonNullElse(duePayableAmount, expectedGrandTotal), 2);
|
||||
if (!calculatedPayableTotal.equals(payableTotalFromXml)) {
|
||||
String moreDetails = "";
|
||||
try {
|
||||
moreDetails = " with tax basis " + tc.getTaxBasis() + " and with positions " + tc.getTotal() + " = "
|
||||
+ Stream.of(tc.trans.getZFItems())
|
||||
.map(item -> new LineCalculator(item).getItemTotalNetAmount().toPlainString())
|
||||
.collect(Collectors.joining(" + "));
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
throw new ArithmetricException("Payable total in XML is " + payableTotalFromXml + ", but calculated total is " + calculatedPayableTotal + moreDetails);
|
||||
}
|
||||
}
|
||||
}
|
||||
return zpp;
|
||||
@@ -1036,6 +1068,7 @@ public class ZUGFeRDInvoiceImporter {
|
||||
* for PDF embedded files in FX use getFileAttachmentsPDF()
|
||||
* @deprecated use invoice.getAdditionalReferencedDocuments
|
||||
*/
|
||||
@Deprecated
|
||||
public List<FileAttachment> getFileAttachmentsXML() {
|
||||
return new ArrayList<>(Arrays.asList(importedInvoice.getAdditionalReferencedDocuments()));
|
||||
}
|
||||
@@ -1067,5 +1100,4 @@ public class ZUGFeRDInvoiceImporter {
|
||||
LOGGER.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -20,42 +20,9 @@
|
||||
*/
|
||||
package org.mustangproject.ZUGFeRD;
|
||||
|
||||
import java.io.BufferedOutputStream;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.PipedInputStream;
|
||||
import java.io.PipedOutputStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import javax.xml.transform.Result;
|
||||
import javax.xml.transform.Source;
|
||||
import javax.xml.transform.Templates;
|
||||
import javax.xml.transform.Transformer;
|
||||
import javax.xml.transform.TransformerConfigurationException;
|
||||
import javax.xml.transform.TransformerException;
|
||||
import javax.xml.transform.TransformerFactory;
|
||||
import javax.xml.transform.URIResolver;
|
||||
import javax.xml.transform.sax.SAXResult;
|
||||
import javax.xml.transform.stream.StreamResult;
|
||||
import javax.xml.transform.stream.StreamSource;
|
||||
|
||||
import org.apache.fop.apps.FOPException;
|
||||
import org.apache.fop.apps.FOUserAgent;
|
||||
import org.apache.fop.apps.Fop;
|
||||
import org.apache.fop.apps.FopFactory;
|
||||
import org.apache.fop.apps.FopFactoryBuilder;
|
||||
import com.helger.commons.io.stream.StreamHelper;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.fop.apps.*;
|
||||
import org.apache.fop.apps.io.ResourceResolverFactory;
|
||||
import org.apache.fop.configuration.Configuration;
|
||||
import org.apache.fop.configuration.ConfigurationException;
|
||||
@@ -65,12 +32,19 @@ import org.mustangproject.ClasspathResolverURIAdapter;
|
||||
import org.mustangproject.EStandard;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import com.helger.commons.io.stream.StreamHelper;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.xml.sax.InputSource;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.transform.*;
|
||||
import javax.xml.transform.sax.SAXResult;
|
||||
import javax.xml.transform.stream.StreamResult;
|
||||
import javax.xml.transform.stream.StreamSource;
|
||||
import java.io.*;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.Optional;
|
||||
|
||||
public class ZUGFeRDVisualizer {
|
||||
|
||||
@@ -113,7 +87,7 @@ public class ZUGFeRDVisualizer {
|
||||
* @param fis inputstream (will be consumed)
|
||||
* @return (facturx = cii)
|
||||
*/
|
||||
public EStandard findOutStandardFromRootNode(InputStream fis) {
|
||||
private EStandard findOutStandardFromRootNode(InputStream fis) {
|
||||
|
||||
String zf1Signature = "CrossIndustryDocument";
|
||||
String zf2Signature = "CrossIndustryInvoice";
|
||||
@@ -144,106 +118,97 @@ public class ZUGFeRDVisualizer {
|
||||
return null;
|
||||
}
|
||||
|
||||
public String visualize(String xmlFilename, Language lang)
|
||||
throws FileNotFoundException, TransformerException, IOException, SAXException, ParserConfigurationException {
|
||||
|
||||
try {
|
||||
if (mXsltPDFTemplate == null) {
|
||||
mXsltPDFTemplate = mFactory.newTemplates(
|
||||
new StreamSource(CLASS_LOADER.getResourceAsStream(RESOURCE_PATH + "stylesheets/xr-pdf.xsl")));
|
||||
}
|
||||
if (mXsltHTMLTemplate == null) {
|
||||
mXsltHTMLTemplate = mFactory.newTemplates(new StreamSource(
|
||||
CLASS_LOADER.getResourceAsStream(RESOURCE_PATH + "stylesheets/xrechnung-html." + lang.name().toLowerCase() + ".xsl")));
|
||||
}
|
||||
if (mXsltZF1HTMLTemplate == null) {
|
||||
mXsltZF1HTMLTemplate = mFactory.newTemplates(new StreamSource(
|
||||
CLASS_LOADER.getResourceAsStream(RESOURCE_PATH + "stylesheets/ZUGFeRD_1p0_c1p0_s1p0.xslt")));
|
||||
}
|
||||
} catch (TransformerConfigurationException ex) {
|
||||
LOGGER.error("Failed to init XSLT templates", ex);
|
||||
}
|
||||
|
||||
/**
|
||||
* *
|
||||
* http://www.unece.org/fileadmin/DAM/cefact/xml/XML-Naming-And-Design-Rules-V2_1.pdf
|
||||
* http://www.ferd-net.de/upload/Dokumente/FACTUR-X_ZUGFeRD_2p0_Teil1_Profil_EN16931_1p03.pdf
|
||||
* http://countwordsfree.com/xmlviewer
|
||||
*/
|
||||
public String visualize(String xmlFilename, Language lang) throws IOException, TransformerException {
|
||||
FileInputStream fis = new FileInputStream(xmlFilename);
|
||||
String fileContent = "";
|
||||
try {
|
||||
fileContent = new String(Files.readAllBytes(Paths.get(xmlFilename)), StandardCharsets.UTF_8);
|
||||
} catch (IOException e2) {
|
||||
LOGGER.error("Failed to read file content", e2);
|
||||
}
|
||||
return visualize(fis, lang);
|
||||
}
|
||||
|
||||
ByteArrayOutputStream iaos = new ByteArrayOutputStream();
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
public String visualize(InputStream inputXml, Language lang) throws IOException, TransformerException {
|
||||
initTemplates(lang);
|
||||
|
||||
boolean doPostProcessing = false;
|
||||
String fileContent = new String(IOUtils.toByteArray(inputXml), StandardCharsets.UTF_8);
|
||||
EStandard thestandard = findOutStandardFromRootNode(new ByteArrayInputStream(fileContent.getBytes(StandardCharsets.UTF_8)));
|
||||
ByteArrayOutputStream htmlOutput = new ByteArrayOutputStream();
|
||||
|
||||
|
||||
fis = new FileInputStream(xmlFilename); // fis wont reset() so re-read from beginning
|
||||
EStandard thestandard = findOutStandardFromRootNode(fis);
|
||||
fis = new FileInputStream(xmlFilename); // fis wont reset() so re-read from beginning
|
||||
ByteArrayInputStream xmlContentStream = new ByteArrayInputStream(fileContent.getBytes(StandardCharsets.UTF_8));
|
||||
|
||||
if (thestandard == EStandard.zugferd) {
|
||||
applyZF1XSLT(fis, baos);
|
||||
applyZF1XSLT(xmlContentStream, htmlOutput);
|
||||
return htmlOutput.toString(StandardCharsets.UTF_8);
|
||||
} else if (thestandard == EStandard.facturx) {
|
||||
//zf2 or fx
|
||||
applyZF2XSLT(fis, iaos);
|
||||
doPostProcessing = true;
|
||||
applyZF2XSLT(xmlContentStream, htmlOutput);
|
||||
} else if (thestandard == EStandard.ubl) {
|
||||
//zf2 or fx
|
||||
applyUBL2XSLT(fis, iaos);
|
||||
doPostProcessing = true;
|
||||
applyUBL2XSLT(xmlContentStream, htmlOutput);
|
||||
} else if (thestandard == EStandard.ubl_creditnote) {
|
||||
//zf2 or fx
|
||||
applyUBLCreditNote2XSLT(fis, iaos);
|
||||
doPostProcessing = true;
|
||||
applyUBLCreditNote2XSLT(xmlContentStream, htmlOutput);
|
||||
} else if (thestandard == EStandard.orderx) {
|
||||
//zf2 or fx
|
||||
applyCIO2XSLT(fis, iaos);
|
||||
doPostProcessing = true;
|
||||
applyCIO2XSLT(xmlContentStream, htmlOutput);
|
||||
} else {
|
||||
throw new IllegalArgumentException("File does not look like CII or UBL");
|
||||
}
|
||||
if (doPostProcessing) {
|
||||
// take the copy of the stream and re-write it to an InputStream
|
||||
PipedInputStream in = new PipedInputStream();
|
||||
PipedOutputStream out;
|
||||
try {
|
||||
out = new PipedOutputStream(in);
|
||||
new Thread(new Runnable() {
|
||||
public void run() {
|
||||
try {
|
||||
// write the original OutputStream to the PipedOutputStream
|
||||
// note that in order for the below method to work, you need
|
||||
// to ensure that the data has finished writing to the
|
||||
// ByteArrayOutputStream
|
||||
iaos.writeTo(out);
|
||||
} catch (IOException e) {
|
||||
LOGGER.error("Failed to write to stream", e);
|
||||
} finally {
|
||||
// close the PipedOutputStream here because we're done writing data
|
||||
// once this thread has completed its run
|
||||
StreamHelper.close(out);
|
||||
}
|
||||
}
|
||||
}).start();
|
||||
applyXSLTToHTML(in, baos);
|
||||
} catch (IOException e1) {
|
||||
LOGGER.error("Failed to create HTML", e1);
|
||||
}
|
||||
|
||||
Optional<InputStream> in = copyStream(htmlOutput);
|
||||
ByteArrayOutputStream htmlOutStream = new ByteArrayOutputStream();
|
||||
if (in.isPresent()) {
|
||||
applyXSLTToHTML(in.get(), htmlOutStream);
|
||||
}
|
||||
|
||||
return baos.toString(StandardCharsets.UTF_8);
|
||||
return htmlOutStream.toString(StandardCharsets.UTF_8);
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO: jstaerk: why not copy with that simple call: new ByteArrayInputStream(byteArrayOutputStream.toByteArray()) ?
|
||||
*/
|
||||
private Optional<InputStream> copyStream(ByteArrayOutputStream byteArrayOutputStream) {
|
||||
// take the copy of the stream and re-write it to an InputStream
|
||||
PipedInputStream in = new PipedInputStream();
|
||||
try {
|
||||
PipedOutputStream out = new PipedOutputStream(in);
|
||||
new Thread(() -> {
|
||||
try {
|
||||
// write the original OutputStream to the PipedOutputStream
|
||||
// note that in order for the below method to work, you need
|
||||
// to ensure that the data has finished writing to the
|
||||
// ByteArrayOutputStream
|
||||
byteArrayOutputStream.writeTo(out);
|
||||
} catch (IOException e) {
|
||||
LOGGER.error("Failed to write to stream", e);
|
||||
} finally {
|
||||
// close the PipedOutputStream here because we're done writing data
|
||||
// once this thread has completed its run
|
||||
StreamHelper.close(out);
|
||||
}
|
||||
}).start();
|
||||
} catch (IOException e1) {
|
||||
LOGGER.error("Failed to create HTML", e1);
|
||||
return Optional.empty();
|
||||
}
|
||||
return Optional.of(in);
|
||||
}
|
||||
|
||||
|
||||
private void initTemplates(Language lang) throws TransformerConfigurationException {
|
||||
if (mXsltXRTemplate == null) {
|
||||
mXsltXRTemplate = mFactory.newTemplates(
|
||||
new StreamSource(CLASS_LOADER.getResourceAsStream(RESOURCE_PATH + "stylesheets/cii-xr.xsl")));
|
||||
}
|
||||
|
||||
if (mXsltHTMLTemplate == null) {
|
||||
mXsltHTMLTemplate = mFactory.newTemplates(new StreamSource(
|
||||
CLASS_LOADER.getResourceAsStream(RESOURCE_PATH + "stylesheets/xrechnung-html." + lang.name().toLowerCase() + ".xsl")));
|
||||
}
|
||||
if (mXsltZF1HTMLTemplate == null) {
|
||||
mXsltZF1HTMLTemplate = mFactory.newTemplates(new StreamSource(
|
||||
CLASS_LOADER.getResourceAsStream(RESOURCE_PATH + "stylesheets/ZUGFeRD_1p0_c1p0_s1p0.xslt")));
|
||||
}
|
||||
}
|
||||
|
||||
protected String toFOP(String xmlFilename)
|
||||
throws FileNotFoundException, TransformerException {
|
||||
throws IOException, TransformerException {
|
||||
|
||||
FileInputStream fis = new FileInputStream(xmlFilename);
|
||||
EStandard theStandard = findOutStandardFromRootNode(fis);
|
||||
@@ -253,8 +218,8 @@ public class ZUGFeRDVisualizer {
|
||||
}
|
||||
|
||||
protected String toFOP(InputStream is, EStandard theStandard)
|
||||
throws FileNotFoundException, TransformerException {
|
||||
|
||||
throws TransformerException, IOException {
|
||||
|
||||
try {
|
||||
if (mXsltPDFTemplate == null) {
|
||||
mXsltPDFTemplate = mFactory.newTemplates(
|
||||
@@ -265,7 +230,6 @@ public class ZUGFeRDVisualizer {
|
||||
}
|
||||
|
||||
ByteArrayOutputStream iaos = new ByteArrayOutputStream();
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
|
||||
//zf2 or fx
|
||||
if (theStandard == EStandard.facturx) {
|
||||
@@ -277,33 +241,11 @@ public class ZUGFeRDVisualizer {
|
||||
}
|
||||
|
||||
|
||||
PipedInputStream in = new PipedInputStream();
|
||||
PipedOutputStream out;
|
||||
try {
|
||||
out = new PipedOutputStream(in);
|
||||
new Thread(new Runnable() {
|
||||
public void run() {
|
||||
try {
|
||||
// write the original OutputStream to the PipedOutputStream
|
||||
// note that in order for the below method to work, you need
|
||||
// to ensure that the data has finished writing to the
|
||||
// ByteArrayOutputStream
|
||||
iaos.writeTo(out);
|
||||
} catch (IOException e) {
|
||||
LOGGER.error("Failed to write to stream", e);
|
||||
} finally {
|
||||
// close the PipedOutputStream here because we're done writing data
|
||||
// once this thread has completed its run
|
||||
StreamHelper.close(out);
|
||||
}
|
||||
}
|
||||
}).start();
|
||||
applyXSLTToPDF(in, baos);
|
||||
} catch (IOException e1) {
|
||||
LOGGER.error("Failed to create PDF", e1);
|
||||
Optional<InputStream> in = copyStream(iaos);
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
if (in.isPresent()) {
|
||||
applyXSLTToPDF(in.get(), baos);
|
||||
}
|
||||
|
||||
|
||||
return baos.toString(StandardCharsets.UTF_8);
|
||||
}
|
||||
|
||||
@@ -319,7 +261,7 @@ public class ZUGFeRDVisualizer {
|
||||
*/
|
||||
try {
|
||||
result = this.toFOP(XMLinputFile.getAbsolutePath());
|
||||
} catch (FileNotFoundException | TransformerException e) {
|
||||
} catch (TransformerException | IOException e) {
|
||||
LOGGER.error("Failed to apply FOP", e);
|
||||
}
|
||||
DefaultConfigurationBuilder cfgBuilder = new DefaultConfigurationBuilder();
|
||||
@@ -373,7 +315,7 @@ public class ZUGFeRDVisualizer {
|
||||
}
|
||||
}
|
||||
|
||||
protected void applyZF2XSLT(final InputStream xmlFile, final OutputStream HTMLOutstream)
|
||||
protected void applyZF2XSLT(final InputStream xmlFile, final OutputStream htmlOutStream)
|
||||
throws TransformerException {
|
||||
if (mXsltXRTemplate == null) {
|
||||
mXsltXRTemplate = mFactory.newTemplates(
|
||||
@@ -382,10 +324,10 @@ public class ZUGFeRDVisualizer {
|
||||
}
|
||||
Transformer transformer = mXsltXRTemplate.newTransformer();
|
||||
|
||||
transformer.transform(new StreamSource(xmlFile), new StreamResult(HTMLOutstream));
|
||||
transformer.transform(new StreamSource(xmlFile), new StreamResult(htmlOutStream));
|
||||
}
|
||||
|
||||
protected void applyCIO2XSLT(final InputStream xmlFile, final OutputStream HTMLOutstream)
|
||||
protected void applyCIO2XSLT(final InputStream xmlFile, final OutputStream htmlOutstream)
|
||||
throws TransformerException {
|
||||
if (mXsltCIOTemplate == null) {
|
||||
mXsltCIOTemplate = mFactory.newTemplates(
|
||||
@@ -393,10 +335,10 @@ public class ZUGFeRDVisualizer {
|
||||
}
|
||||
Transformer transformer = mXsltCIOTemplate.newTransformer();
|
||||
|
||||
transformer.transform(new StreamSource(xmlFile), new StreamResult(HTMLOutstream));
|
||||
transformer.transform(new StreamSource(xmlFile), new StreamResult(htmlOutstream));
|
||||
}
|
||||
|
||||
protected void applyUBL2XSLT(final InputStream xmlFile, final OutputStream HTMLOutstream)
|
||||
protected void applyUBL2XSLT(final InputStream xmlFile, final OutputStream htmlOutStream)
|
||||
throws TransformerException {
|
||||
if (mXsltUBLTemplate == null) {
|
||||
mXsltUBLTemplate = mFactory.newTemplates(
|
||||
@@ -404,10 +346,10 @@ public class ZUGFeRDVisualizer {
|
||||
}
|
||||
Transformer transformer = mXsltUBLTemplate.newTransformer();
|
||||
|
||||
transformer.transform(new StreamSource(xmlFile), new StreamResult(HTMLOutstream));
|
||||
transformer.transform(new StreamSource(xmlFile), new StreamResult(htmlOutStream));
|
||||
}
|
||||
|
||||
protected void applyUBLCreditNote2XSLT(final InputStream xmlFile, final OutputStream HTMLOutstream)
|
||||
protected void applyUBLCreditNote2XSLT(final InputStream xmlFile, final OutputStream htmlOutStream)
|
||||
throws TransformerException {
|
||||
if (mXsltUBLTemplate == null) {
|
||||
mXsltUBLTemplate = mFactory.newTemplates(
|
||||
@@ -415,28 +357,30 @@ public class ZUGFeRDVisualizer {
|
||||
}
|
||||
Transformer transformer = mXsltUBLTemplate.newTransformer();
|
||||
|
||||
transformer.transform(new StreamSource(xmlFile), new StreamResult(HTMLOutstream));
|
||||
transformer.transform(new StreamSource(xmlFile), new StreamResult(htmlOutStream));
|
||||
}
|
||||
|
||||
protected void applyZF1XSLT(final InputStream xmlFile, final OutputStream HTMLOutstream)
|
||||
protected void applyZF1XSLT(final InputStream xmlFile, final OutputStream htmlOutStream)
|
||||
throws TransformerException {
|
||||
Transformer transformer = mXsltZF1HTMLTemplate.newTransformer();
|
||||
|
||||
transformer.transform(new StreamSource(xmlFile), new StreamResult(HTMLOutstream));
|
||||
transformer.transform(new StreamSource(xmlFile), new StreamResult(htmlOutStream));
|
||||
}
|
||||
|
||||
protected void applyXSLTToHTML(final InputStream xmlFile, final OutputStream HTMLOutstream)
|
||||
throws TransformerException {
|
||||
protected void applyXSLTToHTML(final InputStream xmlFile, final OutputStream htmlOutStream)
|
||||
throws TransformerException, IOException {
|
||||
Transformer transformer = mXsltHTMLTemplate.newTransformer();
|
||||
|
||||
transformer.transform(new StreamSource(xmlFile), new StreamResult(HTMLOutstream));
|
||||
transformer.transform(new StreamSource(xmlFile), new StreamResult(htmlOutStream));
|
||||
xmlFile.close();
|
||||
}
|
||||
|
||||
protected void applyXSLTToPDF(final InputStream xmlFile, final OutputStream PDFOutstream)
|
||||
throws TransformerException {
|
||||
throws TransformerException, IOException {
|
||||
Transformer transformer = mXsltPDFTemplate.newTransformer();
|
||||
|
||||
transformer.transform(new StreamSource(xmlFile), new StreamResult(PDFOutstream));
|
||||
xmlFile.close();
|
||||
}
|
||||
|
||||
private static class ClasspathResourceURIResolver implements URIResolver {
|
||||
@@ -445,7 +389,7 @@ public class ZUGFeRDVisualizer {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Source resolve(String href, String base) throws TransformerException {
|
||||
public Source resolve(String href, String base) {
|
||||
return new StreamSource(CLASS_LOADER.getResourceAsStream(RESOURCE_PATH + "stylesheets/" + href));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,6 +29,7 @@ public class TaxCategoryCodeTypeConstants {
|
||||
public static final String ZEROTAXPRODUCTS = "Z";
|
||||
public static final String UNTAXEDSERVICE = "O";
|
||||
public static final String INTRACOMMUNITY = "K";
|
||||
|
||||
public static Set<String> CATEGORY_CODES_WITH_EXEMPTION_REASON = Stream.of(INTRACOMMUNITY, REVERSECHARGE, TAXEXEMPT).collect(Collectors.toSet());
|
||||
public static final String FREEEXPORT = "G";
|
||||
|
||||
public static Set<String> CATEGORY_CODES_WITH_EXEMPTION_REASON = Stream.of(INTRACOMMUNITY, REVERSECHARGE, TAXEXEMPT, FREEEXPORT).collect(Collectors.toSet());
|
||||
}
|
||||
|
||||
BIN
library/src/main/resources/fonts/SourceSansPro-Bold.ttf
Normal file
BIN
library/src/main/resources/fonts/SourceSansPro-Bold.ttf
Normal file
Binary file not shown.
BIN
library/src/main/resources/fonts/SourceSansPro-BoldIt.ttf
Normal file
BIN
library/src/main/resources/fonts/SourceSansPro-BoldIt.ttf
Normal file
Binary file not shown.
BIN
library/src/main/resources/fonts/SourceSansPro-It.ttf
Normal file
BIN
library/src/main/resources/fonts/SourceSansPro-It.ttf
Normal file
Binary file not shown.
BIN
library/src/main/resources/fonts/SourceSansPro-Regular.ttf
Normal file
BIN
library/src/main/resources/fonts/SourceSansPro-Regular.ttf
Normal file
Binary file not shown.
BIN
library/src/main/resources/fonts/SourceSerifPro-Bold.ttf
Normal file
BIN
library/src/main/resources/fonts/SourceSerifPro-Bold.ttf
Normal file
Binary file not shown.
BIN
library/src/main/resources/fonts/SourceSerifPro-BoldIt.ttf
Normal file
BIN
library/src/main/resources/fonts/SourceSerifPro-BoldIt.ttf
Normal file
Binary file not shown.
BIN
library/src/main/resources/fonts/SourceSerifPro-It.ttf
Normal file
BIN
library/src/main/resources/fonts/SourceSerifPro-It.ttf
Normal file
Binary file not shown.
BIN
library/src/main/resources/fonts/SourceSerifPro-Regular.ttf
Normal file
BIN
library/src/main/resources/fonts/SourceSerifPro-Regular.ttf
Normal file
Binary file not shown.
@@ -1,37 +1,57 @@
|
||||
<fop version="1.0">
|
||||
|
||||
<!-- Strict user configuration -->
|
||||
<strict-configuration>true</strict-configuration>
|
||||
|
||||
<!-- Strict FO validation -->
|
||||
<strict-validation>true</strict-validation>
|
||||
|
||||
<!-- Base URL for resolving relative URLs -->
|
||||
|
||||
<!-- Font Base URL for resolving relative font URLs -->
|
||||
|
||||
<!-- Source resolution in dpi (dots/pixels per inch) for determining the size of pixels in SVG and bitmap images, default: 72dpi -->
|
||||
<source-resolution>96</source-resolution>
|
||||
<!-- Target resolution in dpi (dots/pixels per inch) for specifying the target resolution for generated bitmaps, default: 72dpi -->
|
||||
<target-resolution>96</target-resolution>
|
||||
|
||||
<!-- default page-height and page-width, in case
|
||||
value is specified as auto -->
|
||||
<default-page-settings height="297mm" width="210mm"/><!-- DIN A/4 -->
|
||||
|
||||
<!-- etc. etc..... -->
|
||||
|
||||
<renderers>
|
||||
<renderer mime="application/pdf">
|
||||
<fonts><!-- https://xmlgraphics.apache.org/fop/1.1/fonts.html auto-embed -->
|
||||
<auto-detect/>
|
||||
<font kerning="no" embed-url="classpath:FreeSans.ttf" embedding-mode="subset">
|
||||
<font-triplet name="SourceSerifPro" style="normal" weight="normal" />
|
||||
<font-triplet name="Times-Bold" style="normal" weight="normal" />
|
||||
</font>
|
||||
</fonts>
|
||||
<output-profile>classpath:AdobeCompat-v2.icc</output-profile>
|
||||
</renderer>
|
||||
</renderers>
|
||||
|
||||
</fop>
|
||||
<fop version="1.0">
|
||||
|
||||
<!-- Strict user configuration -->
|
||||
<strict-configuration>true</strict-configuration>
|
||||
|
||||
<!-- Strict FO validation -->
|
||||
<strict-validation>true</strict-validation>
|
||||
|
||||
<!-- Base URL for resolving relative URLs -->
|
||||
|
||||
<!-- Font Base URL for resolving relative font URLs -->
|
||||
|
||||
<!-- Source resolution in dpi (dots/pixels per inch) for determining the size of pixels in SVG and bitmap images, default: 72dpi -->
|
||||
<source-resolution>96</source-resolution>
|
||||
<!-- Target resolution in dpi (dots/pixels per inch) for specifying the target resolution for generated bitmaps, default: 72dpi -->
|
||||
<target-resolution>96</target-resolution>
|
||||
|
||||
<!-- default page-height and page-width, in case
|
||||
value is specified as auto -->
|
||||
<default-page-settings height="297mm" width="210mm"/><!-- DIN A/4 -->
|
||||
|
||||
<!-- etc. etc..... -->
|
||||
|
||||
<renderers>
|
||||
<renderer mime="application/pdf">
|
||||
<fonts>
|
||||
<!-- https://xmlgraphics.apache.org/fop/1.1/fonts.html auto-embed -->
|
||||
<auto-detect/>
|
||||
<font kerning="yes" embed-url="classpath:fonts/SourceSansPro-Regular.ttf" embedding-mode="subset">
|
||||
<font-triplet name="SourceSansPro" style="normal" weight="400"/>
|
||||
</font>
|
||||
<font kerning="yes" embed-url="classpath:fonts/SourceSansPro-It.ttf" embedding-mode="subset">
|
||||
<font-triplet name="SourceSansPro" style="italic" weight="400"/>
|
||||
</font>
|
||||
<font kerning="yes" embed-url="classpath:fonts/SourceSansPro-Bold.ttf" embedding-mode="subset">
|
||||
<font-triplet name="SourceSansPro" style="normal" weight="700"/>
|
||||
</font>
|
||||
<font kerning="yes" embed-url="classpath:fonts/SourceSansPro-BoldIt.ttf" embedding-mode="subset">
|
||||
<font-triplet name="SourceSansPro" style="italic" weight="700"/>
|
||||
</font>
|
||||
<font kerning="yes" embed-url="classpath:fonts/SourceSerifPro-Regular.ttf" embedding-mode="subset">
|
||||
<font-triplet name="SourceSerifPro" style="normal" weight="400"/>
|
||||
</font>
|
||||
<font kerning="yes" embed-url="classpath:fonts/SourceSerifPro-It.ttf" embedding-mode="subset">
|
||||
<font-triplet name="SourceSerifPro" style="italic" weight="400"/>
|
||||
</font>
|
||||
<font kerning="yes" embed-url="classpath:fonts/SourceSerifPro-Bold.ttf" embedding-mode="subset">
|
||||
<font-triplet name="SourceSerifPro" style="normal" weight="700"/>
|
||||
</font>
|
||||
<font kerning="yes" embed-url="classpath:fonts/SourceSerifPro-BoldIt.ttf" embedding-mode="subset">
|
||||
<font-triplet name="SourceSerifPro" style="italic" weight="700"/>
|
||||
</font>
|
||||
</fonts>
|
||||
<output-profile>classpath:AdobeCompat-v2.icc</output-profile>
|
||||
</renderer>
|
||||
</renderers>
|
||||
</fop>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
243
library/src/main/resources/stylesheets/result-pdf.xsl
Normal file
243
library/src/main/resources/stylesheets/result-pdf.xsl
Normal file
@@ -0,0 +1,243 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
|
||||
xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
version="2.0">
|
||||
<!-- Imports -->
|
||||
<xsl:import href="common-xr.xsl"/>
|
||||
<xsl:import href="xr-pdf/lib/konstanten.xsl"/>
|
||||
<!--
|
||||
FO engine used can be specified.
|
||||
Specific extensions will be then enabled.
|
||||
Supported values are:
|
||||
axf - Antenna House XSL Formatter
|
||||
fop - Apache FOP
|
||||
-->
|
||||
<xsl:param name="foengine"/>
|
||||
<xsl:param name="axf.extensions"
|
||||
select="if ($foengine eq 'axf') then true() else false()"/>
|
||||
<xsl:param name="fop.extensions"
|
||||
select="if ($foengine eq 'fop') then true() else false()"/>
|
||||
<xsl:variable name="xml_result_color">
|
||||
<xsl:if test="/validation/xml/summary/@status = 'valid'">
|
||||
<xsl:text>green</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="/validation/xml/summary/@status = 'invalid'">
|
||||
<xsl:text>red</xsl:text>
|
||||
</xsl:if>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="pdf_result_color">
|
||||
<xsl:if test="/validation/pdf/summary/@status = 'valid'">
|
||||
<xsl:text>green</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="/validation/pdf/summary/@status = 'invalid'">
|
||||
<xsl:text>red</xsl:text>
|
||||
</xsl:if>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="pdf_result_text">
|
||||
<xsl:if test="/validation/xml/summary/@status = 'valid'">
|
||||
<xsl:text>Das ZUGFeRD-PDF ist valide.</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="/validation/xml/summary/@status = 'invalid'">
|
||||
<xsl:text>Das ZUGFeRD-PDF ist nicht valide.</xsl:text>
|
||||
</xsl:if>
|
||||
</xsl:variable>
|
||||
<xsl:variable name="result_text">
|
||||
<xsl:if test="/validation/xml/summary/@status = 'valid'">
|
||||
<xsl:text>Es wird empfohlen, das Dokument anzunehmen und weiterzuverarbeiten.</xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:if test="/validation/xml/summary/@status = 'invalid'">
|
||||
<xsl:text>Es wird empfohlen, das Dokument zurückzuweisen.</xsl:text>
|
||||
</xsl:if>
|
||||
</xsl:variable>
|
||||
<xsl:template match="validation">
|
||||
<fo:root language="{$lang}"
|
||||
font-family="{$fontSans}">
|
||||
<fo:layout-master-set>
|
||||
<fo:simple-page-master master-name="DIN-A4"
|
||||
page-height="297mm"
|
||||
page-width="210mm">
|
||||
<fo:region-body region-name="body"
|
||||
margin="20mm 10mm 20mm 20mm"/>
|
||||
</fo:simple-page-master>
|
||||
</fo:layout-master-set>
|
||||
<fo:page-sequence master-reference="DIN-A4">
|
||||
<fo:flow flow-name="body">
|
||||
<fo:block font-size="24px"
|
||||
font-weight="bold">
|
||||
<xsl:text>Prüfbericht</xsl:text>
|
||||
</fo:block>
|
||||
<xsl:call-template name="SubHeader">
|
||||
<xsl:with-param name="text"
|
||||
select=""Angaben zum geprüften Dokument""/>
|
||||
<xsl:with-param name="color"
|
||||
select=""black""/>
|
||||
</xsl:call-template>
|
||||
<fo:block>
|
||||
<fo:block text-align="justify">
|
||||
<fo:float float="right">
|
||||
<fo:block>
|
||||
<xsl:value-of select="/validation/@filename"/>
|
||||
</fo:block>
|
||||
</fo:float>
|
||||
<xsl:text>Referenz:</xsl:text>
|
||||
</fo:block>
|
||||
</fo:block>
|
||||
<fo:block>
|
||||
<fo:block text-align="justify">
|
||||
<fo:float float="right">
|
||||
<fo:block>
|
||||
<xsl:value-of select="/validation/@datetime"/>
|
||||
</fo:block>
|
||||
</fo:float>
|
||||
<xsl:text>Zeitpunkt der Prüfung:</xsl:text>
|
||||
</fo:block>
|
||||
</fo:block>
|
||||
<fo:block>
|
||||
<fo:block text-align="justify">
|
||||
<fo:float float="right">
|
||||
<fo:block>
|
||||
<xsl:value-of select="/validation/xml/info/profile"/>
|
||||
</fo:block>
|
||||
</fo:float>
|
||||
<xsl:text>Erkannter Dokumenttyp:</xsl:text>
|
||||
</fo:block>
|
||||
</fo:block>
|
||||
<xsl:apply-templates select="/validation/pdf"/>
|
||||
<!--
|
||||
<xsl:call-template name="SubHeader">
|
||||
<xsl:with-param name="text"
|
||||
select='"Konformitätsprüfung:"'/>
|
||||
<xsl:with-param name="color"
|
||||
select='"black"'/>
|
||||
</xsl:call-template>
|
||||
-->
|
||||
<xsl:call-template name="SubHeader">
|
||||
<xsl:with-param name="text"
|
||||
select="concat('Bewertung: ', $result_text)"/>
|
||||
<xsl:with-param name="color"
|
||||
select="$xml_result_color"/>
|
||||
</xsl:call-template>
|
||||
<fo:block>Validierungsergebnisse im Detail:</fo:block>
|
||||
<fo:table>
|
||||
<fo:table-column border-style="solid"/>
|
||||
<fo:table-column border-style="solid"/>
|
||||
<fo:table-column border-style="solid"/>
|
||||
<fo:table-column column-width="70%"
|
||||
border-style="solid"/>
|
||||
<fo:table-header>
|
||||
<fo:table-row background-color="#E0E0E0"
|
||||
font-weight="bold">
|
||||
<fo:table-cell>
|
||||
<fo:block>Type</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell>
|
||||
<fo:block>Code</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell>
|
||||
<fo:block>Schwere</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell>
|
||||
<fo:block>Text</fo:block>
|
||||
</fo:table-cell>
|
||||
</fo:table-row>
|
||||
</fo:table-header>
|
||||
<fo:table-body>
|
||||
<xsl:choose>
|
||||
<xsl:when test="/validation/xml/messages">
|
||||
<xsl:apply-templates select="/validation/xml/messages"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<fo:table-row font-size="12px"
|
||||
border-style="solid">
|
||||
<fo:table-cell number-columns-spanned="4">
|
||||
<fo:block text-align="center">Es gibt weder Hinweise noch Fehler.</fo:block>
|
||||
</fo:table-cell>
|
||||
</fo:table-row>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</fo:table-body>
|
||||
</fo:table>
|
||||
</fo:flow>
|
||||
</fo:page-sequence>
|
||||
</fo:root>
|
||||
</xsl:template>
|
||||
<xsl:template match="notice|error">
|
||||
<fo:table-row font-size="12px"
|
||||
border-style="solid">
|
||||
<fo:table-cell number-rows-spanned="2">
|
||||
<fo:block>
|
||||
<xsl:value-of select="@type"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell number-rows-spanned="2">
|
||||
<fo:block>
|
||||
<xsl:call-template name="SUBID">
|
||||
<xsl:with-param name="myparam"
|
||||
select="substring-after(.,' [ID ')"/>
|
||||
</xsl:call-template>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell number-rows-spanned="2">
|
||||
<fo:block>
|
||||
<xsl:choose>
|
||||
<xsl:when test="name() = 'error'">
|
||||
<xsl:attribute name="color">red</xsl:attribute>
|
||||
<xsl:text>Fehler</xsl:text>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:text>Hinweis</xsl:text>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
<fo:table-cell>
|
||||
<fo:block>
|
||||
<xsl:if test="name() = 'error'">
|
||||
<xsl:attribute name="color">red</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="substring-before(.,' [ID')"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
</fo:table-row>
|
||||
<fo:table-row font-size="10px"
|
||||
border-style="solid">
|
||||
<fo:table-cell>
|
||||
<fo:block>
|
||||
<xsl:if test="name() = 'error'">
|
||||
<xsl:attribute name="color">red</xsl:attribute>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="concat('Pfad: ', @location)"/>
|
||||
</fo:block>
|
||||
</fo:table-cell>
|
||||
</fo:table-row>
|
||||
</xsl:template>
|
||||
<xsl:template match="pdf">
|
||||
<xsl:call-template name="SubHeader">
|
||||
<xsl:with-param name="text"
|
||||
select="concat('ZUGFeRD-PDF: ', $pdf_result_text)"/>
|
||||
<xsl:with-param name="color"
|
||||
select=""black""/>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
<xsl:template name="SubHeader">
|
||||
<xsl:param name="text"/>
|
||||
<xsl:param name="color"/>
|
||||
<fo:block color="{$color}"
|
||||
background-color="#E0E0E0"
|
||||
margin-bottom="10px"
|
||||
padding="3px"
|
||||
font-weight="bold"
|
||||
margin-top="10px">
|
||||
<xsl:value-of select="$text"/>
|
||||
</fo:block>
|
||||
</xsl:template>
|
||||
<xsl:template name="SUBID">
|
||||
<xsl:param name="myparam"/>
|
||||
<xsl:variable name="myparam.end"
|
||||
select="substring-before($myparam, ']')"/>
|
||||
<xsl:value-of select="$myparam.end"/>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
@@ -1,235 +1,235 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
|
||||
xmlns:xr="urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xrv="http://www.example.org/XRechnung-Viewer"
|
||||
xmlns:xrf="https://projekte.kosit.org/xrechnung/xrechnung-visualization/functions"
|
||||
version="2.0">
|
||||
|
||||
<!-- ==========================================================================
|
||||
== Schriften
|
||||
=========================================================================== -->
|
||||
|
||||
<xsl:variable name="fontSans">SourceSerifPro</xsl:variable>
|
||||
<xsl:variable name="fontSerif">SourceSerifPro</xsl:variable>
|
||||
|
||||
<xsl:variable name="amount-picture" select="xrf:_('amount-format')"/>
|
||||
<xsl:variable name="percentage-picture" select="xrf:_('percentage-format')"/>
|
||||
|
||||
|
||||
<!-- ==========================================================================
|
||||
== Attribute-Sets
|
||||
=========================================================================== -->
|
||||
|
||||
<!-- Fliesstext -->
|
||||
<xsl:attribute-set name="fliesstext">
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="$fontSans"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="line-height">12pt</xsl:attribute>
|
||||
<xsl:attribute name="hyphenation-ladder-count">3</xsl:attribute>
|
||||
<xsl:attribute name="hyphenate">true</xsl:attribute>
|
||||
<xsl:attribute name="language">de</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- H1 Marker -->
|
||||
<xsl:attribute-set name="marker">
|
||||
<xsl:attribute name="font-size">18pt</xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="$fontSerif"/></xsl:attribute>
|
||||
<xsl:attribute name="hyphenate">false</xsl:attribute>
|
||||
<xsl:attribute name="span">all</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- H1 -->
|
||||
<xsl:attribute-set name="h1">
|
||||
<xsl:attribute name="font-size">18pt</xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="$fontSerif"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
||||
<xsl:attribute name="margin-bottom">4mm</xsl:attribute>
|
||||
<xsl:attribute name="hyphenate">false</xsl:attribute>
|
||||
<xsl:attribute name="span">all</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- H2-Container -->
|
||||
<xsl:attribute-set name="h2-container">
|
||||
<xsl:attribute name="border-top">0.5pt solid</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">2.5pt</xsl:attribute>
|
||||
<xsl:attribute name="span">all</xsl:attribute>
|
||||
<xsl:attribute name="margin-bottom">4mm</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- H2 -->
|
||||
<xsl:attribute-set name="h2">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="$fontSans"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
||||
<xsl:attribute name="border">0.5pt solid</xsl:attribute>
|
||||
<xsl:attribute name="padding">4pt 6pt</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
<xsl:attribute name="margin">0</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- H3 -->
|
||||
<xsl:attribute-set name="h3">
|
||||
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="$fontSans"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
||||
<xsl:attribute name="margin-bottom">1mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-left">2mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-top">2mm</xsl:attribute>
|
||||
<xsl:attribute name="span">all</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- Separator -->
|
||||
<xsl:attribute-set name="separator">
|
||||
<xsl:attribute name="margin-left">2mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-bottom">3mm</xsl:attribute>
|
||||
<xsl:attribute name="border-bottom">0.5pt dotted</xsl:attribute>
|
||||
<xsl:attribute name="color">#999999</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- Wert-Felder -->
|
||||
<xsl:variable name="wertHG">#eeeeee</xsl:variable>
|
||||
<xsl:variable name="wert-legende-breite">28</xsl:variable>
|
||||
|
||||
<xsl:attribute-set name="wert-legende">
|
||||
<xsl:attribute name="font-size">7pt</xsl:attribute>
|
||||
<xsl:attribute name="line-height">10pt</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">1mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">1mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-left">2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="wert-ausgabe">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="line-height">10pt</xsl:attribute>
|
||||
<xsl:attribute name="background-color"><xsl:value-of select="$wertHG"/></xsl:attribute>
|
||||
<xsl:attribute name="padding-top">1mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">1mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">2mm</xsl:attribute>
|
||||
<xsl:attribute name="keep-together.within-column">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- Rechnung-Felder -->
|
||||
<xsl:attribute-set name="rechnung-legende">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="text-align">left</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="rechnung-steuer">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="text-align">left</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="rechnung-wert">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="text-align">right</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">0mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="rechnung-legende-summe">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="text-align">left</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">0.4mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
||||
<xsl:attribute name="border-top">0.1pt solid #999999</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="rechnung-steuer-summe">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="text-align">left</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">0.4mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
||||
<xsl:attribute name="border-top">0.1pt solid #999999</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="rechnung-wert-summe">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
||||
<xsl:attribute name="text-align">right</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">0.4mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">0mm</xsl:attribute>
|
||||
<xsl:attribute name="border-top">0.1pt solid #999999</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- Box-Container -->
|
||||
<xsl:attribute-set name="box-container-kapitel">
|
||||
<xsl:attribute name="margin-bottom">10mm</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="box-container-bereich">
|
||||
<xsl:attribute name="margin-bottom">2mm</xsl:attribute>
|
||||
<xsl:attribute name="keep-together.within-page">always</xsl:attribute>
|
||||
<xsl:attribute name="span">all</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="box-container-inner">
|
||||
<xsl:attribute name="margin-bottom">2mm</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- Tabular invoice lines -->
|
||||
<xsl:attribute-set name="invoicelines-table">
|
||||
<xsl:attribute name="padding-left">2pt</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">2pt</xsl:attribute>
|
||||
<xsl:attribute name="width">100%</xsl:attribute>
|
||||
<xsl:attribute name="table-layout">fixed</xsl:attribute>
|
||||
<xsl:attribute name="margin-bottom">2mm</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="invoicelines-table-header">
|
||||
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="invoicelines-table-row">
|
||||
<!-- Nested sub-invoice lines will recursively decrease font-size -->
|
||||
<xsl:attribute name="font-size" select="if (self::xr:SUB_INVOICE_LINE) then '90%' else '100%'"/>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="invoicelines-nested-info">
|
||||
<xsl:attribute name="font-size">80%</xsl:attribute>
|
||||
<xsl:attribute name="font-style">italic</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="invoicelines-allowances-table">
|
||||
<xsl:attribute name="padding-left">2pt</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">2pt</xsl:attribute>
|
||||
<xsl:attribute name="width">100%</xsl:attribute>
|
||||
<xsl:attribute name="table-layout">fixed</xsl:attribute>
|
||||
<xsl:attribute name="font-size">80%</xsl:attribute>
|
||||
<xsl:attribute name="font-style">italic</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
</xsl:stylesheet>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
|
||||
xmlns:xr="urn:ce.eu:en16931:2017:xoev-de:kosit:standard:xrechnung-1"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xrv="http://www.example.org/XRechnung-Viewer"
|
||||
xmlns:xrf="https://projekte.kosit.org/xrechnung/xrechnung-visualization/functions"
|
||||
version="2.0">
|
||||
|
||||
<!-- ==========================================================================
|
||||
== Schriften
|
||||
=========================================================================== -->
|
||||
|
||||
<xsl:variable name="fontSans">SourceSansPro</xsl:variable>
|
||||
<xsl:variable name="fontSerif">SourceSerifPro</xsl:variable>
|
||||
|
||||
<xsl:variable name="amount-picture" select="xrf:_('amount-format')"/>
|
||||
<xsl:variable name="percentage-picture" select="xrf:_('percentage-format')"/>
|
||||
|
||||
|
||||
<!-- ==========================================================================
|
||||
== Attribute-Sets
|
||||
=========================================================================== -->
|
||||
|
||||
<!-- Fliesstext -->
|
||||
<xsl:attribute-set name="fliesstext">
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="$fontSans"/></xsl:attribute>
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="line-height">12pt</xsl:attribute>
|
||||
<xsl:attribute name="hyphenation-ladder-count">3</xsl:attribute>
|
||||
<xsl:attribute name="hyphenate">true</xsl:attribute>
|
||||
<xsl:attribute name="language">de</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- H1 Marker -->
|
||||
<xsl:attribute-set name="marker">
|
||||
<xsl:attribute name="font-size">18pt</xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="$fontSerif"/></xsl:attribute>
|
||||
<xsl:attribute name="hyphenate">false</xsl:attribute>
|
||||
<xsl:attribute name="span">all</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- H1 -->
|
||||
<xsl:attribute-set name="h1">
|
||||
<xsl:attribute name="font-size">18pt</xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="$fontSerif"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
||||
<xsl:attribute name="margin-bottom">4mm</xsl:attribute>
|
||||
<xsl:attribute name="hyphenate">false</xsl:attribute>
|
||||
<xsl:attribute name="span">all</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- H2-Container -->
|
||||
<xsl:attribute-set name="h2-container">
|
||||
<xsl:attribute name="border-top">0.5pt solid</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">2.5pt</xsl:attribute>
|
||||
<xsl:attribute name="span">all</xsl:attribute>
|
||||
<xsl:attribute name="margin-bottom">4mm</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- H2 -->
|
||||
<xsl:attribute-set name="h2">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="$fontSans"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
||||
<xsl:attribute name="border">0.5pt solid</xsl:attribute>
|
||||
<xsl:attribute name="padding">4pt 6pt</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
<xsl:attribute name="margin">0</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- H3 -->
|
||||
<xsl:attribute-set name="h3">
|
||||
<xsl:attribute name="font-size">10pt</xsl:attribute>
|
||||
<xsl:attribute name="font-family"><xsl:value-of select="$fontSans"/></xsl:attribute>
|
||||
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
||||
<xsl:attribute name="margin-bottom">1mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-left">2mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-top">2mm</xsl:attribute>
|
||||
<xsl:attribute name="span">all</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- Separator -->
|
||||
<xsl:attribute-set name="separator">
|
||||
<xsl:attribute name="margin-left">2mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-bottom">3mm</xsl:attribute>
|
||||
<xsl:attribute name="border-bottom">0.5pt dotted</xsl:attribute>
|
||||
<xsl:attribute name="color">#999999</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- Wert-Felder -->
|
||||
<xsl:variable name="wertHG">#eeeeee</xsl:variable>
|
||||
<xsl:variable name="wert-legende-breite">28</xsl:variable>
|
||||
|
||||
<xsl:attribute-set name="wert-legende">
|
||||
<xsl:attribute name="font-size">7pt</xsl:attribute>
|
||||
<xsl:attribute name="line-height">10pt</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">1mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">1mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-left">2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="wert-ausgabe">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="line-height">10pt</xsl:attribute>
|
||||
<xsl:attribute name="background-color"><xsl:value-of select="$wertHG"/></xsl:attribute>
|
||||
<xsl:attribute name="padding-top">1mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">1mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">2mm</xsl:attribute>
|
||||
<xsl:attribute name="keep-together.within-column">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- Rechnung-Felder -->
|
||||
<xsl:attribute-set name="rechnung-legende">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="text-align">left</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="rechnung-steuer">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="text-align">left</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="rechnung-wert">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="text-align">right</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">0mm</xsl:attribute>
|
||||
<xsl:attribute name="margin-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="rechnung-legende-summe">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="text-align">left</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">0.4mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
||||
<xsl:attribute name="border-top">0.1pt solid #999999</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="rechnung-steuer-summe">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="text-align">left</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">0.4mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">1mm</xsl:attribute>
|
||||
<xsl:attribute name="border-top">0.1pt solid #999999</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="rechnung-wert-summe">
|
||||
<xsl:attribute name="font-size">9pt</xsl:attribute>
|
||||
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
||||
<xsl:attribute name="text-align">right</xsl:attribute>
|
||||
<xsl:attribute name="padding-top">0.4mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-bottom">0.2mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-left">0mm</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">0mm</xsl:attribute>
|
||||
<xsl:attribute name="border-top">0.1pt solid #999999</xsl:attribute>
|
||||
<xsl:attribute name="keep-with-next.within-page">always</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- Box-Container -->
|
||||
<xsl:attribute-set name="box-container-kapitel">
|
||||
<xsl:attribute name="margin-bottom">10mm</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="box-container-bereich">
|
||||
<xsl:attribute name="margin-bottom">2mm</xsl:attribute>
|
||||
<xsl:attribute name="keep-together.within-page">always</xsl:attribute>
|
||||
<xsl:attribute name="span">all</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="box-container-inner">
|
||||
<xsl:attribute name="margin-bottom">2mm</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<!-- Tabular invoice lines -->
|
||||
<xsl:attribute-set name="invoicelines-table">
|
||||
<xsl:attribute name="padding-left">2pt</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">2pt</xsl:attribute>
|
||||
<xsl:attribute name="width">100%</xsl:attribute>
|
||||
<xsl:attribute name="table-layout">fixed</xsl:attribute>
|
||||
<xsl:attribute name="margin-bottom">2mm</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="invoicelines-table-header">
|
||||
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="invoicelines-table-row">
|
||||
<!-- Nested sub-invoice lines will recursively decrease font-size -->
|
||||
<xsl:attribute name="font-size" select="if (self::xr:SUB_INVOICE_LINE) then '90%' else '100%'"/>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="invoicelines-nested-info">
|
||||
<xsl:attribute name="font-size">80%</xsl:attribute>
|
||||
<xsl:attribute name="font-style">italic</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
<xsl:attribute-set name="invoicelines-allowances-table">
|
||||
<xsl:attribute name="padding-left">2pt</xsl:attribute>
|
||||
<xsl:attribute name="padding-right">2pt</xsl:attribute>
|
||||
<xsl:attribute name="width">100%</xsl:attribute>
|
||||
<xsl:attribute name="table-layout">fixed</xsl:attribute>
|
||||
<xsl:attribute name="font-size">80%</xsl:attribute>
|
||||
<xsl:attribute name="font-style">italic</xsl:attribute>
|
||||
</xsl:attribute-set>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -1,227 +1,229 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
|
||||
|
||||
<xsl:variable name="i18n.bt10" select="'Leitweg-ID'"/>
|
||||
<xsl:variable name="i18n.bt44" select="'Name'"/>
|
||||
<xsl:variable name="i18n.title" select="'XRechnung'"/>
|
||||
<xsl:variable name="i18n.overview" select="'Übersicht'"/>
|
||||
<xsl:variable name="i18n.items" select="'Positionen'"/>
|
||||
<xsl:variable name="i18n.information" select="'Informationen'"/>
|
||||
<xsl:variable name="i18n.attachments" select="'Anhänge'"/>
|
||||
<xsl:variable name="i18n.history" select="'Bearbeitungshistorie'"/>
|
||||
<xsl:variable name="i18n.disclaimer" select="'Wir übernehmen keine Haftung für die Richtigkeit der Daten.'"/>
|
||||
<xsl:variable name="i18n.recipientInfo" select="'Informationen zum Käufer'"/>
|
||||
<xsl:variable name="i18n.bt50" select="'Straße / Haus-Nr.'"/>
|
||||
<xsl:variable name="i18n.bt51" select="'Postfach'"/>
|
||||
<xsl:variable name="i18n.bt163" select="'Adresszusatz'"/>
|
||||
<xsl:variable name="i18n.bt53" select="'PLZ'"/>
|
||||
<xsl:variable name="i18n.bt52" select="'Ort'"/>
|
||||
<xsl:variable name="i18n.bt54" select="'Bundesland'"/>
|
||||
<xsl:variable name="i18n.bt55" select="'Land'"/>
|
||||
<xsl:variable name="i18n.bt46" select="'Kennung / Kunden-Nr.'"/>
|
||||
<xsl:variable name="i18n.bt46-id" select="'Schema der Kennung'"/>
|
||||
<xsl:variable name="i18n.bt56" select="'Name'"/>
|
||||
<xsl:variable name="i18n.bt57" select="'Telefon'"/>
|
||||
<xsl:variable name="i18n.bt58" select="'E-Mail-Adresse'"/>
|
||||
<xsl:variable name="i18n.bt27" select="'Firmenname'"/>
|
||||
<xsl:variable name="i18n.bt35" select="'Straße / Haus-Nr.'"/>
|
||||
<xsl:variable name="i18n.bt36" select="'Postfach'"/>
|
||||
<xsl:variable name="i18n.bt162" select="'Adresszusatz'"/>
|
||||
<xsl:variable name="i18n.bt38" select="'PLZ'"/>
|
||||
<xsl:variable name="i18n.bt37" select="'Ort'"/>
|
||||
<xsl:variable name="i18n.bt39" select="'Bundesland'"/>
|
||||
<xsl:variable name="i18n.bt40" select="'Ländercode'"/>
|
||||
<xsl:variable name="i18n.bt29" select="'Kennung'"/>
|
||||
<xsl:variable name="i18n.bt29-id" select="'Schema der Kennung'"/>
|
||||
<xsl:variable name="i18n.bt41" select="'Name'"/>
|
||||
<xsl:variable name="i18n.bt42" select="'Telefon'"/>
|
||||
<xsl:variable name="i18n.bt43" select="'E-Mail-Adresse'"/>
|
||||
<xsl:variable name="i18n.bt1" select="'Rechnungsnummer'"/>
|
||||
<xsl:variable name="i18n.bt2" select="'Rechnungsdatum'"/>
|
||||
<xsl:variable name="i18n.details" select="'Rechnungsdaten'"/>
|
||||
<xsl:variable name="i18n.period" select="'Abrechnungszeitraum'"/>
|
||||
<xsl:variable name="i18n.bt3" select="'Rechnungsart'"/>
|
||||
<xsl:variable name="i18n.bt5" select="'Währung'"/>
|
||||
<xsl:variable name="i18n.bt73" select="'von'"/>
|
||||
<xsl:variable name="i18n.bt74" select="'bis'"/>
|
||||
<xsl:variable name="i18n.bt11" select="'Projektnummer'"/>
|
||||
<xsl:variable name="i18n.bt12" select="'Vertragsnummer'"/>
|
||||
<xsl:variable name="i18n.bt13" select="'Bestellnummer'"/>
|
||||
<xsl:variable name="i18n.bt14" select="'Auftragsnummer'"/>
|
||||
<xsl:variable name="i18n.bt25" select="'Rechnungsnummer'"/>
|
||||
<xsl:variable name="i18n.bt26" select="'Rechnungsdatum'"/>
|
||||
<xsl:variable name="i18n.bg22" select="'Gesamtbeträge der Rechnung'"/>
|
||||
<xsl:variable name="i18n.bt106" select="'Summe aller Positionen'"/>
|
||||
<xsl:variable name="i18n.bt107" select="'Summe Nachlässe'"/>
|
||||
<xsl:variable name="i18n.bt108" select="'Summe Zuschläge'"/>
|
||||
<xsl:variable name="i18n.bt109" select="'Gesamtsumme'"/>
|
||||
<xsl:variable name="i18n.bt110" select="'Summe Umsatzsteuer'"/>
|
||||
<xsl:variable name="i18n.bt111" select="'Summe Umsatzsteuer in Abrechnungswährung'"/>
|
||||
<xsl:variable name="i18n.bt112" select="'Gesamtsumme'"/>
|
||||
<xsl:variable name="i18n.bt113" select="'Gezahlter Betrag'"/>
|
||||
<xsl:variable name="i18n.bt114" select="'Rundungsbetrag'"/>
|
||||
<xsl:variable name="i18n.bt115" select="'Fälliger Betrag'"/>
|
||||
<xsl:variable name="i18n.bg23" select="'Aufschlüsselung der Umsatzsteuer auf Ebene der Rechnung'"/>
|
||||
<xsl:variable name="i18n.bt118" select="'Umsatzsteuerkategorie'"/>
|
||||
<xsl:variable name="i18n.bt116" select="'Gesamtsumme'"/>
|
||||
<xsl:variable name="i18n.bt119" select="'Umsatzsteuersatz'"/>
|
||||
<xsl:variable name="i18n.bt117" select="'Umsatzsteuerbetrag'"/>
|
||||
<xsl:variable name="i18n.bt120" select="'Befreiungsgrund'"/>
|
||||
<xsl:variable name="i18n.bt121" select="'Kennung für den Befreiungsgrund'"/>
|
||||
<xsl:variable name="i18n.bg20" select="'Nachlass auf Ebene der Rechnung'"/>
|
||||
<xsl:variable name="i18n.bt95" select="'Umsatzsteuerkategorie des Nachlasses'"/>
|
||||
<xsl:variable name="i18n.bt93" select="'Grundbetrag'"/>
|
||||
<xsl:variable name="i18n.bt94" select="'Prozentsatz'"/>
|
||||
<xsl:variable name="i18n.bt92" select="'Nachlass'"/>
|
||||
<xsl:variable name="i18n.bt96" select="'Umsatzsteuersatz des Nachlasses'"/>
|
||||
<xsl:variable name="i18n.bt97" select="'Grund für den Nachlass'"/>
|
||||
<xsl:variable name="i18n.bt98" select="'Document level allowance reason code'"/>
|
||||
<xsl:variable name="i18n.bg21" select="'Zuschlag auf Ebene der Rechnung'"/>
|
||||
<xsl:variable name="i18n.bt102" select="'Umsatzsteuerkategorie des Zuschlages'"/>
|
||||
<xsl:variable name="i18n.bt100" select="'Grundbetrag'"/>
|
||||
<xsl:variable name="i18n.bt101" select="'Prozentsatz'"/>
|
||||
<xsl:variable name="i18n.bt99" select="'Zuschlag'"/>
|
||||
<xsl:variable name="i18n.bt103" select="'Umsatzsteuersatz des Zuschlages'"/>
|
||||
<xsl:variable name="i18n.bt104" select="'Grund für den Zuschlag'"/>
|
||||
<xsl:variable name="i18n.bt105" select="'Document level charge reason code'"/>
|
||||
<xsl:variable name="i18n.bgx42" select="'Versandkosten'"/>
|
||||
<xsl:variable name="i18n.btx274" select="'Umsatzsteuerkategorie der Versandkosten'"/>
|
||||
<xsl:variable name="i18n.btx272" select="'Betrag'"/>
|
||||
<xsl:variable name="i18n.btx273" select="'Umsatzsteuersatz der Versandkosten'"/>
|
||||
<xsl:variable name="i18n.btx271" select="'Versandkostenbeschreibung'"/>
|
||||
<xsl:variable name="i18n.bt20" select="'Skonto; weitere Zahlungsbed.'"/>
|
||||
<xsl:variable name="i18n.bt9" select="'Fälligkeitsdatum'"/>
|
||||
<xsl:variable name="i18n.bt81" select="'Code für das Zahlungsmittel'"/>
|
||||
<xsl:variable name="i18n.bt82" select="'Zahlungsmittel'"/>
|
||||
<xsl:variable name="i18n.bt83" select="'Verwendungszweck'"/>
|
||||
<xsl:variable name="i18n.bg18" select="'Karteninformation'"/>
|
||||
<xsl:variable name="i18n.bt87" select="'Kartennummer'"/>
|
||||
<xsl:variable name="i18n.bt88" select="'Karteninhaber'"/>
|
||||
<xsl:variable name="i18n.bg19" select="'Lastschrift'"/>
|
||||
<xsl:variable name="i18n.bt89" select="'Mandatsreferenznr.'"/>
|
||||
<xsl:variable name="i18n.bt91" select="'IBAN'"/>
|
||||
<xsl:variable name="i18n.bt90" select="'Gläubiger-ID'"/>
|
||||
<xsl:variable name="i18n.bg17" select="'Überweisung'"/>
|
||||
<xsl:variable name="i18n.bt85" select="'Kontoinhaber'"/>
|
||||
<xsl:variable name="i18n.bt84" select="'IBAN'"/>
|
||||
<xsl:variable name="i18n.bt86" select="'BIC'"/>
|
||||
<xsl:variable name="i18n.bg1" select="'Bemerkung zur Rechnung'"/>
|
||||
<xsl:variable name="i18n.bt21" select="'Betreff'"/>
|
||||
<xsl:variable name="i18n.bt22" select="'Bemerkung'"/>
|
||||
<xsl:variable name="i18n.bt126" select="'Position'"/>
|
||||
<xsl:variable name="i18n.bt127" select="'Freitext'"/>
|
||||
<xsl:variable name="i18n.bt128" select="'Objektkennung'"/>
|
||||
<xsl:variable name="i18n.bt128-id" select="'Schema der Objektkennung'"/>
|
||||
<xsl:variable name="i18n.bt132" select="'Nummer der Auftragsposition'"/>
|
||||
<xsl:variable name="i18n.bt133" select="'Kontierungshinweis /Kostenstelle'"/>
|
||||
<xsl:variable name="i18n.bg26" select="'Abrechnungszeitraum'"/>
|
||||
<xsl:variable name="i18n.bt134" select="'von'"/>
|
||||
<xsl:variable name="i18n.bt135" select="'bis'"/>
|
||||
<xsl:variable name="i18n.bg29" select="'Preiseinzelheiten'"/>
|
||||
<xsl:variable name="i18n.bt129" select="'Menge'"/>
|
||||
<xsl:variable name="i18n.bt130" select="'Einheit'"/>
|
||||
<xsl:variable name="i18n.bt146" select="'Preis pro Einheit (netto)'"/>
|
||||
<xsl:variable name="i18n.bt131" select="'Gesamtpreis (netto)'"/>
|
||||
<xsl:variable name="i18n.bt147" select="'Rabatt (netto)'"/>
|
||||
<xsl:variable name="i18n.bt148" select="'Listenpreis (netto)'"/>
|
||||
<xsl:variable name="i18n.bt149" select="'Anzahl der Einheit'"/>
|
||||
<xsl:variable name="i18n.bt150" select="'Code der Maßeinheit'"/>
|
||||
<xsl:variable name="i18n.bt151" select="'Umsatzsteuer'"/>
|
||||
<xsl:variable name="i18n.bt152" select="'Umsatzsteuersatz in %'"/>
|
||||
<xsl:variable name="i18n.bg27" select="'Nachlässe auf Ebene der Rechnungsposition'"/>
|
||||
<xsl:variable name="i18n.bt137" select="'Grundbetrag (netto)'"/>
|
||||
<xsl:variable name="i18n.bt138" select="'Prozentsatz'"/>
|
||||
<xsl:variable name="i18n.bt136" select="'Nachlass'"/>
|
||||
<xsl:variable name="i18n.bt139" select="'Grund des Nachlasses'"/>
|
||||
<xsl:variable name="i18n.bt140" select="'Code für den Nachlassgrund'"/>
|
||||
<xsl:variable name="i18n.bg28" select="'Zuschläge auf Ebene der Rechnungsposition'"/>
|
||||
<xsl:variable name="i18n.bt142" select="'Grundbetrag (netto)'"/>
|
||||
<xsl:variable name="i18n.bt143" select="'Prozentsatz'"/>
|
||||
<xsl:variable name="i18n.bt141" select="'Zuschlag (netto)'"/>
|
||||
<xsl:variable name="i18n.bt144" select="'Grund des Zuschlags'"/>
|
||||
<xsl:variable name="i18n.bt145" select="'Code für den Zuschlagsgrund'"/>
|
||||
<xsl:variable name="i18n.bg31" select="'Artikelinformationen'"/>
|
||||
<xsl:variable name="i18n.bt153" select="'Bezeichnung'"/>
|
||||
<xsl:variable name="i18n.bt154" select="'Beschreibung'"/>
|
||||
<xsl:variable name="i18n.bt155" select="'Artikelnummer'"/>
|
||||
<xsl:variable name="i18n.bt156" select="'Kunden-Material-Nr.'"/>
|
||||
<xsl:variable name="i18n.bg32" select="'Eigenschaften des Artikels'"/>
|
||||
<xsl:variable name="i18n.bt157" select="'Artikelkennung (EAN)'"/>
|
||||
<xsl:variable name="i18n.bt157-id" select="'Schema der Artikelkennung'"/>
|
||||
<xsl:variable name="i18n.bt158" select="'Code der Artikelklassifizierung'"/>
|
||||
<xsl:variable name="i18n.bt158-id" select="'Kennung zur Bildung des Schemas'"/>
|
||||
<xsl:variable name="i18n.bt157-vers-id" select="'Version zur Bildung des Schemas'"/>
|
||||
<xsl:variable name="i18n.bt159" select="'Code des Herkunftslandes'"/>
|
||||
<xsl:variable name="i18n.bg4" select="'Informationen zum Verkäufer'"/>
|
||||
<xsl:variable name="i18n.bt28" select="'Abweichender Handelsname'"/>
|
||||
<xsl:variable name="i18n.bt34" select="'Elektronische Adresse'"/>
|
||||
<xsl:variable name="i18n.bt34-id" select="'Schema der elektronischen Adresse'"/>
|
||||
<xsl:variable name="i18n.bt30" select="'Register-/Registriernummer'"/>
|
||||
<xsl:variable name="i18n.bt31" select="'Umsatzsteuer-ID'"/>
|
||||
<xsl:variable name="i18n.bt32" select="'Steuernummer'"/>
|
||||
<xsl:variable name="i18n.bt32-schema" select="'Schema der Steuernummer'"/>
|
||||
<xsl:variable name="i18n.bt33" select="'Weitere rechtliche Informationen'"/>
|
||||
<xsl:variable name="i18n.bt6" select="'Code der Umsatzsteuerwährung'"/>
|
||||
<xsl:variable name="i18n.bg11" select="'Steuervertreter des Verkäufers'"/>
|
||||
<xsl:variable name="i18n.bt62" select="'Name'"/>
|
||||
<xsl:variable name="i18n.bt64" select="'Straße / Hausnummer'"/>
|
||||
<xsl:variable name="i18n.bt65" select="'Postfach'"/>
|
||||
<xsl:variable name="i18n.bt164" select="'Adresszusatz'"/>
|
||||
<xsl:variable name="i18n.bt67" select="'PLZ'"/>
|
||||
<xsl:variable name="i18n.bt66" select="'Ort'"/>
|
||||
<xsl:variable name="i18n.bt68" select="'Bundesland'"/>
|
||||
<xsl:variable name="i18n.bt69" select="'Ländercode'"/>
|
||||
<xsl:variable name="i18n.bt63" select="'Umsatzsteuer-ID'"/>
|
||||
<xsl:variable name="i18n.bg7" select="'Informationen zum Käufer'"/>
|
||||
<xsl:variable name="i18n.bt45" select="'Abweichender Handelsname'"/>
|
||||
<xsl:variable name="i18n.bt49" select="'Elektronische Adresse'"/>
|
||||
<xsl:variable name="i18n.bt49-id" select="'Schema der elektronischen Adresse'"/>
|
||||
<xsl:variable name="i18n.bt47" select="'Register-/Registriernummer'"/>
|
||||
<xsl:variable name="i18n.bt47-id" select="'Schema der Register-/Registriernummer'"/>
|
||||
<xsl:variable name="i18n.bt48" select="'Umsatzsteuer-ID'"/>
|
||||
<xsl:variable name="i18n.bt7" select="'Abrechnungsdatum der Umsatzsteuer'"/>
|
||||
<xsl:variable name="i18n.bt8" select="'Code des Umsatzsteuer-Abrechnungsdatums'"/>
|
||||
<xsl:variable name="i18n.bt19" select="'Kontierungsinformation / Kostenstelle'"/>
|
||||
<xsl:variable name="i18n.bg13" select="'Lieferinformationen'"/>
|
||||
<xsl:variable name="i18n.bt71" select="'Kennung des Lieferorts'"/>
|
||||
<xsl:variable name="i18n.bt71-id" select="'Schema der Kennung'"/>
|
||||
<xsl:variable name="i18n.bt72" select="'Lieferdatum'"/>
|
||||
<xsl:variable name="i18n.bt70" select="'Name des Empfängers'"/>
|
||||
<xsl:variable name="i18n.bt75" select="'Straße / Haus-Nr.'"/>
|
||||
<xsl:variable name="i18n.bt76" select="'Postfach'"/>
|
||||
<xsl:variable name="i18n.bt165" select="'Adresszusatz'"/>
|
||||
<xsl:variable name="i18n.bt78" select="'PLZ'"/>
|
||||
<xsl:variable name="i18n.bt77" select="'Ort'"/>
|
||||
<xsl:variable name="i18n.bt79" select="'Bundesland'"/>
|
||||
<xsl:variable name="i18n.bt80" select="'Land'"/>
|
||||
<xsl:variable name="i18n.bt17" select="'Vergabenummer'"/>
|
||||
<xsl:variable name="i18n.bt15" select="'Kennung der Empfangsbestätigung'"/>
|
||||
<xsl:variable name="i18n.bt16" select="'Kennung der Versandanzeige'"/>
|
||||
<xsl:variable name="i18n.bt23" select="'Prozesskennung'"/>
|
||||
<xsl:variable name="i18n.bt24" select="'Spezifikationskennung'"/>
|
||||
<xsl:variable name="i18n.bt18" select="'Objektkennung'"/>
|
||||
<xsl:variable name="i18n.bt18-id" select="'Schema der Objektkennung'"/>
|
||||
<xsl:variable name="i18n.bg10" select="'Vom Verkäufer abweichender Zahlungsempfänger'"/>
|
||||
<xsl:variable name="i18n.bt59" select="'Name'"/>
|
||||
<xsl:variable name="i18n.bt60" select="'Kennung'"/>
|
||||
<xsl:variable name="i18n.bt60-id" select="'Schema der Kennung'"/>
|
||||
<xsl:variable name="i18n.bt61" select="'Register-/Registriernummer'"/>
|
||||
<xsl:variable name="i18n.bt61-id" select="'Schema der Register-/Registriernummer'"/>
|
||||
<xsl:variable name="i18n.bg24" select="'Rechnungsbegründende Unterlagen'"/>
|
||||
<xsl:variable name="i18n.bt122" select="'Kennung'"/>
|
||||
<xsl:variable name="i18n.bt123" select="'Beschreibung'"/>
|
||||
<xsl:variable name="i18n.bt124" select="'Verweis (z.B. Internetadresse)'"/>
|
||||
<xsl:variable name="i18n.bt125" select="'Anhangsdokument'"/>
|
||||
<xsl:variable name="i18n.bt125-format" select="'Format des Anhangdokuments'"/>
|
||||
<xsl:variable name="i18n.bt125-name" select="'Name des Anhangsdokuments'"/>
|
||||
<xsl:variable name="i18n.historyDate" select="'Datum/Uhrzeit'"/>
|
||||
<xsl:variable name="i18n.historySubject" select="'Betreff'"/>
|
||||
<xsl:variable name="i18n.historyText" select="'Text'"/>
|
||||
<xsl:variable name="i18n.historyDetails" select="'Details'"/>
|
||||
<xsl:variable name="i18n.payment" select="'Zahlungsdaten'"/>
|
||||
<xsl:variable name="i18n.contract_information" select="'Vertragsdaten'"/>
|
||||
<xsl:variable name="i18n.preceding_invoice_reference" select="'Vorausgegangene Rechnungen'"/>
|
||||
|
||||
<xsl:include href="xrechnung-html.univ.xsl"/>
|
||||
|
||||
</xsl:stylesheet>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
|
||||
|
||||
<xsl:variable name="i18n.bt10" select="'Leitweg-ID'"/>
|
||||
<xsl:variable name="i18n.bt44" select="'Name'"/>
|
||||
<xsl:variable name="i18n.title" select="'XRechnung'"/>
|
||||
<xsl:variable name="i18n.overview" select="'Übersicht'"/>
|
||||
<xsl:variable name="i18n.items" select="'Positionen'"/>
|
||||
<xsl:variable name="i18n.information" select="'Informationen'"/>
|
||||
<xsl:variable name="i18n.attachments" select="'Anhänge'"/>
|
||||
<xsl:variable name="i18n.history" select="'Bearbeitungshistorie'"/>
|
||||
<xsl:variable name="i18n.disclaimer" select="'Wir übernehmen keine Haftung für die Richtigkeit der Daten.'"/>
|
||||
<xsl:variable name="i18n.recipientInfo" select="'Informationen zum Käufer'"/>
|
||||
<xsl:variable name="i18n.dateOf" select="' vom '"/>
|
||||
<xsl:variable name="i18n.bt50" select="'Straße / Haus-Nr.'"/>
|
||||
<xsl:variable name="i18n.bt51" select="'Postfach'"/>
|
||||
<xsl:variable name="i18n.bt163" select="'Adresszusatz'"/>
|
||||
<xsl:variable name="i18n.bt53" select="'PLZ'"/>
|
||||
<xsl:variable name="i18n.bt52" select="'Ort'"/>
|
||||
<xsl:variable name="i18n.bt54" select="'Bundesland'"/>
|
||||
<xsl:variable name="i18n.bt55" select="'Land'"/>
|
||||
<xsl:variable name="i18n.bt46" select="'Kennung / Kunden-Nr.'"/>
|
||||
<xsl:variable name="i18n.bt46-id" select="'Schema der Kennung'"/>
|
||||
<xsl:variable name="i18n.bt56" select="'Name'"/>
|
||||
<xsl:variable name="i18n.bt57" select="'Telefon'"/>
|
||||
<xsl:variable name="i18n.bt58" select="'E-Mail-Adresse'"/>
|
||||
<xsl:variable name="i18n.bt27" select="'Firmenname'"/>
|
||||
<xsl:variable name="i18n.bt35" select="'Straße / Haus-Nr.'"/>
|
||||
<xsl:variable name="i18n.bt36" select="'Postfach'"/>
|
||||
<xsl:variable name="i18n.bt162" select="'Adresszusatz'"/>
|
||||
<xsl:variable name="i18n.bt38" select="'PLZ'"/>
|
||||
<xsl:variable name="i18n.bt37" select="'Ort'"/>
|
||||
<xsl:variable name="i18n.bt39" select="'Bundesland'"/>
|
||||
<xsl:variable name="i18n.bt40" select="'Ländercode'"/>
|
||||
<xsl:variable name="i18n.bt29" select="'Kennung'"/>
|
||||
<xsl:variable name="i18n.bt29-id" select="'Schema der Kennung'"/>
|
||||
<xsl:variable name="i18n.bt41" select="'Name'"/>
|
||||
<xsl:variable name="i18n.bt42" select="'Telefon'"/>
|
||||
<xsl:variable name="i18n.bt43" select="'E-Mail-Adresse'"/>
|
||||
<xsl:variable name="i18n.bt1" select="'Rechnungsnummer'"/>
|
||||
<xsl:variable name="i18n.bt2" select="'Rechnungsdatum'"/>
|
||||
<xsl:variable name="i18n.details" select="'Rechnungsdaten'"/>
|
||||
<xsl:variable name="i18n.period" select="'Abrechnungszeitraum'"/>
|
||||
<xsl:variable name="i18n.bt3" select="'Rechnungsart'"/>
|
||||
<xsl:variable name="i18n.bt5" select="'Währung'"/>
|
||||
<xsl:variable name="i18n.bt73" select="'von'"/>
|
||||
<xsl:variable name="i18n.bt74" select="'bis'"/>
|
||||
<xsl:variable name="i18n.bt11" select="'Projektnummer'"/>
|
||||
<xsl:variable name="i18n.bt12" select="'Vertragsnummer'"/>
|
||||
<xsl:variable name="i18n.bt13" select="'Bestellnummer'"/>
|
||||
<xsl:variable name="i18n.bt14" select="'Auftragsnummer'"/>
|
||||
<xsl:variable name="i18n.bt25" select="'Rechnungsnummer'"/>
|
||||
<xsl:variable name="i18n.bt26" select="'Rechnungsdatum'"/>
|
||||
<xsl:variable name="i18n.bg22" select="'Gesamtbeträge der Rechnung'"/>
|
||||
<xsl:variable name="i18n.bt106" select="'Summe aller Positionen'"/>
|
||||
<xsl:variable name="i18n.bt107" select="'Summe Nachlässe'"/>
|
||||
<xsl:variable name="i18n.bt108" select="'Summe Zuschläge'"/>
|
||||
<xsl:variable name="i18n.bt109" select="'Gesamtsumme'"/>
|
||||
<xsl:variable name="i18n.bt110" select="'Summe Umsatzsteuer'"/>
|
||||
<xsl:variable name="i18n.bt111" select="'Summe Umsatzsteuer in Abrechnungswährung'"/>
|
||||
<xsl:variable name="i18n.bt112" select="'Gesamtsumme'"/>
|
||||
<xsl:variable name="i18n.bt113" select="'Gezahlter Betrag'"/>
|
||||
<xsl:variable name="i18n.bt114" select="'Rundungsbetrag'"/>
|
||||
<xsl:variable name="i18n.bt115" select="'Fälliger Betrag'"/>
|
||||
<xsl:variable name="i18n.bg23" select="'Aufschlüsselung der Umsatzsteuer auf Ebene der Rechnung'"/>
|
||||
<xsl:variable name="i18n.bt118" select="'Umsatzsteuerkategorie'"/>
|
||||
<xsl:variable name="i18n.bt116" select="'Gesamtsumme'"/>
|
||||
<xsl:variable name="i18n.bt119" select="'Umsatzsteuersatz'"/>
|
||||
<xsl:variable name="i18n.bt117" select="'Umsatzsteuerbetrag'"/>
|
||||
<xsl:variable name="i18n.bt120" select="'Befreiungsgrund'"/>
|
||||
<xsl:variable name="i18n.bt121" select="'Kennung für den Befreiungsgrund'"/>
|
||||
<xsl:variable name="i18n.bg20" select="'Nachlass auf Ebene der Rechnung'"/>
|
||||
<xsl:variable name="i18n.bt95" select="'Umsatzsteuerkategorie des Nachlasses'"/>
|
||||
<xsl:variable name="i18n.bt93" select="'Grundbetrag'"/>
|
||||
<xsl:variable name="i18n.bt94" select="'Prozentsatz'"/>
|
||||
<xsl:variable name="i18n.bt92" select="'Nachlass'"/>
|
||||
<xsl:variable name="i18n.bt96" select="'Umsatzsteuersatz des Nachlasses'"/>
|
||||
<xsl:variable name="i18n.bt97" select="'Grund für den Nachlass'"/>
|
||||
<xsl:variable name="i18n.bt98" select="'Document level allowance reason code'"/>
|
||||
<xsl:variable name="i18n.bg21" select="'Zuschlag auf Ebene der Rechnung'"/>
|
||||
<xsl:variable name="i18n.bt102" select="'Umsatzsteuerkategorie des Zuschlages'"/>
|
||||
<xsl:variable name="i18n.bt100" select="'Grundbetrag'"/>
|
||||
<xsl:variable name="i18n.bt101" select="'Prozentsatz'"/>
|
||||
<xsl:variable name="i18n.bt99" select="'Zuschlag'"/>
|
||||
<xsl:variable name="i18n.bt103" select="'Umsatzsteuersatz des Zuschlages'"/>
|
||||
<xsl:variable name="i18n.bt104" select="'Grund für den Zuschlag'"/>
|
||||
<xsl:variable name="i18n.bt105" select="'Document level charge reason code'"/>
|
||||
<xsl:variable name="i18n.bgx42" select="'Versandkosten'"/>
|
||||
<xsl:variable name="i18n.btx274" select="'Umsatzsteuerkategorie der Versandkosten'"/>
|
||||
<xsl:variable name="i18n.btx272" select="'Betrag'"/>
|
||||
<xsl:variable name="i18n.btx273" select="'Umsatzsteuersatz der Versandkosten'"/>
|
||||
<xsl:variable name="i18n.btx271" select="'Versandkostenbeschreibung'"/>
|
||||
<xsl:variable name="i18n.bt20" select="'Skonto; weitere Zahlungsbed.'"/>
|
||||
<xsl:variable name="i18n.bt9" select="'Fälligkeitsdatum'"/>
|
||||
<xsl:variable name="i18n.bt81" select="'Code für das Zahlungsmittel'"/>
|
||||
<xsl:variable name="i18n.bt82" select="'Zahlungsmittel'"/>
|
||||
<xsl:variable name="i18n.bt83" select="'Verwendungszweck'"/>
|
||||
<xsl:variable name="i18n.bg18" select="'Karteninformation'"/>
|
||||
<xsl:variable name="i18n.bt87" select="'Kartennummer'"/>
|
||||
<xsl:variable name="i18n.bt88" select="'Karteninhaber'"/>
|
||||
<xsl:variable name="i18n.bg19" select="'Lastschrift'"/>
|
||||
<xsl:variable name="i18n.bt89" select="'Mandatsreferenznr.'"/>
|
||||
<xsl:variable name="i18n.bt91" select="'IBAN'"/>
|
||||
<xsl:variable name="i18n.bt90" select="'Gläubiger-ID'"/>
|
||||
<xsl:variable name="i18n.bg17" select="'Überweisung'"/>
|
||||
<xsl:variable name="i18n.bt85" select="'Kontoinhaber'"/>
|
||||
<xsl:variable name="i18n.bt84" select="'IBAN'"/>
|
||||
<xsl:variable name="i18n.bt86" select="'BIC'"/>
|
||||
<xsl:variable name="i18n.bg1" select="'Bemerkung zur Rechnung'"/>
|
||||
<xsl:variable name="i18n.bt21" select="'Betreff'"/>
|
||||
<xsl:variable name="i18n.bt22" select="'Bemerkung'"/>
|
||||
<xsl:variable name="i18n.bt126" select="'Position'"/>
|
||||
<xsl:variable name="i18n.bt127" select="'Freitext'"/>
|
||||
<xsl:variable name="i18n.bt128" select="'Objektkennung'"/>
|
||||
<xsl:variable name="i18n.bt128-id" select="'Schema der Objektkennung'"/>
|
||||
<xsl:variable name="i18n.bt132" select="'Nummer der Auftragsposition'"/>
|
||||
<xsl:variable name="i18n.bt133" select="'Kontierungshinweis /Kostenstelle'"/>
|
||||
<xsl:variable name="i18n.bg26" select="'Abrechnungszeitraum'"/>
|
||||
<xsl:variable name="i18n.bt134" select="'von'"/>
|
||||
<xsl:variable name="i18n.bt135" select="'bis'"/>
|
||||
<xsl:variable name="i18n.bg29" select="'Preiseinzelheiten'"/>
|
||||
<xsl:variable name="i18n.bt129" select="'Menge'"/>
|
||||
<xsl:variable name="i18n.bt130" select="'Einheit'"/>
|
||||
<xsl:variable name="i18n.bt146" select="'Preis pro Einheit (netto)'"/>
|
||||
<xsl:variable name="i18n.bt131" select="'Gesamtpreis (netto)'"/>
|
||||
<xsl:variable name="i18n.bt147" select="'Rabatt (netto)'"/>
|
||||
<xsl:variable name="i18n.bt148" select="'Listenpreis (netto)'"/>
|
||||
<xsl:variable name="i18n.bt149" select="'Anzahl der Einheit'"/>
|
||||
<xsl:variable name="i18n.bt150" select="'Code der Maßeinheit'"/>
|
||||
<xsl:variable name="i18n.bt151" select="'Umsatzsteuer'"/>
|
||||
<xsl:variable name="i18n.bt152" select="'Umsatzsteuersatz in %'"/>
|
||||
<xsl:variable name="i18n.bg27" select="'Nachlässe auf Ebene der Rechnungsposition'"/>
|
||||
<xsl:variable name="i18n.bt137" select="'Grundbetrag (netto)'"/>
|
||||
<xsl:variable name="i18n.bt138" select="'Prozentsatz'"/>
|
||||
<xsl:variable name="i18n.bt136" select="'Nachlass'"/>
|
||||
<xsl:variable name="i18n.bt139" select="'Grund des Nachlasses'"/>
|
||||
<xsl:variable name="i18n.bt140" select="'Code für den Nachlassgrund'"/>
|
||||
<xsl:variable name="i18n.bg28" select="'Zuschläge auf Ebene der Rechnungsposition'"/>
|
||||
<xsl:variable name="i18n.bt142" select="'Grundbetrag (netto)'"/>
|
||||
<xsl:variable name="i18n.bt143" select="'Prozentsatz'"/>
|
||||
<xsl:variable name="i18n.bt141" select="'Zuschlag (netto)'"/>
|
||||
<xsl:variable name="i18n.bt144" select="'Grund des Zuschlags'"/>
|
||||
<xsl:variable name="i18n.bt145" select="'Code für den Zuschlagsgrund'"/>
|
||||
<xsl:variable name="i18n.bg31" select="'Artikelinformationen'"/>
|
||||
<xsl:variable name="i18n.bt153" select="'Bezeichnung'"/>
|
||||
<xsl:variable name="i18n.bt154" select="'Beschreibung'"/>
|
||||
<xsl:variable name="i18n.bt155" select="'Artikelnummer'"/>
|
||||
<xsl:variable name="i18n.bt156" select="'Kunden-Material-Nr.'"/>
|
||||
<xsl:variable name="i18n.bg32" select="'Eigenschaften des Artikels'"/>
|
||||
<xsl:variable name="i18n.bt157" select="'Artikelkennung (EAN)'"/>
|
||||
<xsl:variable name="i18n.bt157-id" select="'Schema der Artikelkennung'"/>
|
||||
<xsl:variable name="i18n.bt158" select="'Code der Artikelklassifizierung'"/>
|
||||
<xsl:variable name="i18n.bt158-id" select="'Kennung zur Bildung des Schemas'"/>
|
||||
<xsl:variable name="i18n.bt157-vers-id" select="'Version zur Bildung des Schemas'"/>
|
||||
<xsl:variable name="i18n.bt159" select="'Code des Herkunftslandes'"/>
|
||||
<xsl:variable name="i18n.bg4" select="'Informationen zum Verkäufer'"/>
|
||||
<xsl:variable name="i18n.bt28" select="'Abweichender Handelsname'"/>
|
||||
<xsl:variable name="i18n.bt34" select="'Elektronische Adresse'"/>
|
||||
<xsl:variable name="i18n.bt34-id" select="'Schema der elektronischen Adresse'"/>
|
||||
<xsl:variable name="i18n.bt30" select="'Register-/Registriernummer'"/>
|
||||
<xsl:variable name="i18n.bt31" select="'Umsatzsteuer-ID'"/>
|
||||
<xsl:variable name="i18n.bt32" select="'Steuernummer'"/>
|
||||
<xsl:variable name="i18n.bt32-schema" select="'Schema der Steuernummer'"/>
|
||||
<xsl:variable name="i18n.bt33" select="'Weitere rechtliche Informationen'"/>
|
||||
<xsl:variable name="i18n.bt6" select="'Code der Umsatzsteuerwährung'"/>
|
||||
<xsl:variable name="i18n.bg11" select="'Steuervertreter des Verkäufers'"/>
|
||||
<xsl:variable name="i18n.bt62" select="'Name'"/>
|
||||
<xsl:variable name="i18n.bt64" select="'Straße / Hausnummer'"/>
|
||||
<xsl:variable name="i18n.bt65" select="'Postfach'"/>
|
||||
<xsl:variable name="i18n.bt164" select="'Adresszusatz'"/>
|
||||
<xsl:variable name="i18n.bt67" select="'PLZ'"/>
|
||||
<xsl:variable name="i18n.bt66" select="'Ort'"/>
|
||||
<xsl:variable name="i18n.bt68" select="'Bundesland'"/>
|
||||
<xsl:variable name="i18n.bt69" select="'Ländercode'"/>
|
||||
<xsl:variable name="i18n.bt63" select="'Umsatzsteuer-ID'"/>
|
||||
<xsl:variable name="i18n.bg7" select="'Informationen zum Käufer'"/>
|
||||
<xsl:variable name="i18n.bt45" select="'Abweichender Handelsname'"/>
|
||||
<xsl:variable name="i18n.bt49" select="'Elektronische Adresse'"/>
|
||||
<xsl:variable name="i18n.bt49-id" select="'Schema der elektronischen Adresse'"/>
|
||||
<xsl:variable name="i18n.bt47" select="'Register-/Registriernummer'"/>
|
||||
<xsl:variable name="i18n.bt47-id" select="'Schema der Register-/Registriernummer'"/>
|
||||
<xsl:variable name="i18n.bt48" select="'Umsatzsteuer-ID'"/>
|
||||
<xsl:variable name="i18n.bt7" select="'Abrechnungsdatum der Umsatzsteuer'"/>
|
||||
<xsl:variable name="i18n.bt8" select="'Code des Umsatzsteuer-Abrechnungsdatums'"/>
|
||||
<xsl:variable name="i18n.bt19" select="'Kontierungsinformation / Kostenstelle'"/>
|
||||
<xsl:variable name="i18n.bg13" select="'Lieferinformationen'"/>
|
||||
<xsl:variable name="i18n.bt71" select="'Kennung des Lieferorts'"/>
|
||||
<xsl:variable name="i18n.bt71-id" select="'Schema der Kennung'"/>
|
||||
<xsl:variable name="i18n.bt72" select="'Lieferdatum'"/>
|
||||
<xsl:variable name="i18n.bt70" select="'Name des Empfängers'"/>
|
||||
<xsl:variable name="i18n.bt75" select="'Straße / Haus-Nr.'"/>
|
||||
<xsl:variable name="i18n.bt76" select="'Postfach'"/>
|
||||
<xsl:variable name="i18n.bt165" select="'Adresszusatz'"/>
|
||||
<xsl:variable name="i18n.bt78" select="'PLZ'"/>
|
||||
<xsl:variable name="i18n.bt77" select="'Ort'"/>
|
||||
<xsl:variable name="i18n.bt79" select="'Bundesland'"/>
|
||||
<xsl:variable name="i18n.bt80" select="'Land'"/>
|
||||
<xsl:variable name="i18n.bt17" select="'Vergabenummer'"/>
|
||||
<xsl:variable name="i18n.bt15" select="'Kennung der Empfangsbestätigung'"/>
|
||||
<xsl:variable name="i18n.bt16" select="'Kennung der Versandanzeige'"/>
|
||||
<xsl:variable name="i18n.btx202" select="'Kennung des Lieferscheins'"/>
|
||||
<xsl:variable name="i18n.bt23" select="'Prozesskennung'"/>
|
||||
<xsl:variable name="i18n.bt24" select="'Spezifikationskennung'"/>
|
||||
<xsl:variable name="i18n.bt18" select="'Objektkennung'"/>
|
||||
<xsl:variable name="i18n.bt18-id" select="'Schema der Objektkennung'"/>
|
||||
<xsl:variable name="i18n.bg10" select="'Vom Verkäufer abweichender Zahlungsempfänger'"/>
|
||||
<xsl:variable name="i18n.bt59" select="'Name'"/>
|
||||
<xsl:variable name="i18n.bt60" select="'Kennung'"/>
|
||||
<xsl:variable name="i18n.bt60-id" select="'Schema der Kennung'"/>
|
||||
<xsl:variable name="i18n.bt61" select="'Register-/Registriernummer'"/>
|
||||
<xsl:variable name="i18n.bt61-id" select="'Schema der Register-/Registriernummer'"/>
|
||||
<xsl:variable name="i18n.bg24" select="'Rechnungsbegründende Unterlagen'"/>
|
||||
<xsl:variable name="i18n.bt122" select="'Kennung'"/>
|
||||
<xsl:variable name="i18n.bt123" select="'Beschreibung'"/>
|
||||
<xsl:variable name="i18n.bt124" select="'Verweis (z.B. Internetadresse)'"/>
|
||||
<xsl:variable name="i18n.bt125" select="'Anhangsdokument'"/>
|
||||
<xsl:variable name="i18n.bt125-format" select="'Format des Anhangdokuments'"/>
|
||||
<xsl:variable name="i18n.bt125-name" select="'Name des Anhangsdokuments'"/>
|
||||
<xsl:variable name="i18n.historyDate" select="'Datum/Uhrzeit'"/>
|
||||
<xsl:variable name="i18n.historySubject" select="'Betreff'"/>
|
||||
<xsl:variable name="i18n.historyText" select="'Text'"/>
|
||||
<xsl:variable name="i18n.historyDetails" select="'Details'"/>
|
||||
<xsl:variable name="i18n.payment" select="'Zahlungsdaten'"/>
|
||||
<xsl:variable name="i18n.contract_information" select="'Vertragsdaten'"/>
|
||||
<xsl:variable name="i18n.preceding_invoice_reference" select="'Vorausgegangene Rechnungen'"/>
|
||||
|
||||
<xsl:include href="xrechnung-html.univ.xsl"/>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -1,227 +1,229 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
|
||||
|
||||
<xsl:variable name="i18n.bt10" select="'Routing ID'"/>
|
||||
<xsl:variable name="i18n.bt44" select="'Name'"/>
|
||||
<xsl:variable name="i18n.title" select="'XRechnung'"/>
|
||||
<xsl:variable name="i18n.overview" select="'Overview'"/>
|
||||
<xsl:variable name="i18n.items" select="'Items'"/>
|
||||
<xsl:variable name="i18n.information" select="'Information'"/>
|
||||
<xsl:variable name="i18n.attachments" select="'Attachments'"/>
|
||||
<xsl:variable name="i18n.history" select="'History'"/>
|
||||
<xsl:variable name="i18n.disclaimer" select="'We accept no liability for the correctness of the data'"/>
|
||||
<xsl:variable name="i18n.recipientInfo" select="'Buyer Information'"/>
|
||||
<xsl:variable name="i18n.bt50" select="'Street / house number'"/>
|
||||
<xsl:variable name="i18n.bt51" select="'PO Box'"/>
|
||||
<xsl:variable name="i18n.bt163" select="'Address Addition'"/>
|
||||
<xsl:variable name="i18n.bt53" select="'Postcode'"/>
|
||||
<xsl:variable name="i18n.bt52" select="'Place'"/>
|
||||
<xsl:variable name="i18n.bt54" select="'State/Province'"/>
|
||||
<xsl:variable name="i18n.bt55" select="'Country'"/>
|
||||
<xsl:variable name="i18n.bt46" select="'ID'"/>
|
||||
<xsl:variable name="i18n.bt46-id" select="'ID scheme'"/>
|
||||
<xsl:variable name="i18n.bt56" select="'Name'"/>
|
||||
<xsl:variable name="i18n.bt57" select="'Phone'"/>
|
||||
<xsl:variable name="i18n.bt58" select="'E-mail address'"/>
|
||||
<xsl:variable name="i18n.bt27" select="'Company name'"/>
|
||||
<xsl:variable name="i18n.bt35" select="'Street / house number'"/>
|
||||
<xsl:variable name="i18n.bt36" select="'PO Box'"/>
|
||||
<xsl:variable name="i18n.bt162" select="'Address Addition'"/>
|
||||
<xsl:variable name="i18n.bt38" select="'Code postal'"/>
|
||||
<xsl:variable name="i18n.bt37" select="'Place'"/>
|
||||
<xsl:variable name="i18n.bt39" select="'State/Province'"/>
|
||||
<xsl:variable name="i18n.bt40" select="'Country code'"/>
|
||||
<xsl:variable name="i18n.bt29" select="'ID'"/>
|
||||
<xsl:variable name="i18n.bt29-id" select="'ID scheme'"/>
|
||||
<xsl:variable name="i18n.bt41" select="'Name'"/>
|
||||
<xsl:variable name="i18n.bt42" select="'Phone'"/>
|
||||
<xsl:variable name="i18n.bt43" select="'E-mail address'"/>
|
||||
<xsl:variable name="i18n.bt1" select="'Seller Information'"/>
|
||||
<xsl:variable name="i18n.bt2" select="'Invoice date'"/>
|
||||
<xsl:variable name="i18n.details" select="'Invoice details'"/>
|
||||
<xsl:variable name="i18n.period" select="'Billing period'"/>
|
||||
<xsl:variable name="i18n.bt3" select="'Invoice type'"/>
|
||||
<xsl:variable name="i18n.bt5" select="'Currency'"/>
|
||||
<xsl:variable name="i18n.bt73" select="'from'"/>
|
||||
<xsl:variable name="i18n.bt74" select="'to'"/>
|
||||
<xsl:variable name="i18n.bt11" select="'Project number'"/>
|
||||
<xsl:variable name="i18n.bt12" select="'Contract Number'"/>
|
||||
<xsl:variable name="i18n.bt13" select="'Order number'"/>
|
||||
<xsl:variable name="i18n.bt14" select="'Order number'"/>
|
||||
<xsl:variable name="i18n.bt25" select="'Invoice number'"/>
|
||||
<xsl:variable name="i18n.bt26" select="'Invoice date'"/>
|
||||
<xsl:variable name="i18n.bg22" select="'Total amounts of the invoice'"/>
|
||||
<xsl:variable name="i18n.bt106" select="'Line total'"/>
|
||||
<xsl:variable name="i18n.bt107" select="'Total discounts'"/>
|
||||
<xsl:variable name="i18n.bt108" select="'Total charges'"/>
|
||||
<xsl:variable name="i18n.bt109" select="'Grand total'"/>
|
||||
<xsl:variable name="i18n.bt110" select="'VAT amount'"/>
|
||||
<xsl:variable name="i18n.bt111" select="'Total VAT'"/>
|
||||
<xsl:variable name="i18n.bt112" select="'Grand total'"/>
|
||||
<xsl:variable name="i18n.bt113" select="'Amount paid'"/>
|
||||
<xsl:variable name="i18n.bt114" select="'rounding amount'"/>
|
||||
<xsl:variable name="i18n.bt115" select="'Amount Due'"/>
|
||||
<xsl:variable name="i18n.bg23" select="'Breakdown of VAT at invoice level'"/>
|
||||
<xsl:variable name="i18n.bt118" select="'VAT category'"/>
|
||||
<xsl:variable name="i18n.bt116" select="'Grand total'"/>
|
||||
<xsl:variable name="i18n.bt119" select="'VAT rate'"/>
|
||||
<xsl:variable name="i18n.bt117" select="'VAT amount'"/>
|
||||
<xsl:variable name="i18n.bt120" select="'Reason for exemption:'"/>
|
||||
<xsl:variable name="i18n.bt121" select="'ID for the exemption reason:'"/>
|
||||
<xsl:variable name="i18n.bg20" select="'Allowance at invoice level'"/>
|
||||
<xsl:variable name="i18n.bt95" select="'VAT category of the discount:'"/>
|
||||
<xsl:variable name="i18n.bt93" select="'Basic amount'"/>
|
||||
<xsl:variable name="i18n.bt94" select="'Percentage'"/>
|
||||
<xsl:variable name="i18n.bt92" select="'Allowance'"/>
|
||||
<xsl:variable name="i18n.bt96" select="'VAT rate on allowance'"/>
|
||||
<xsl:variable name="i18n.bt97" select="'Reason for the allowance'"/>
|
||||
<xsl:variable name="i18n.bt98" select="'Document level allowance reason code'"/>
|
||||
<xsl:variable name="i18n.bg21" select="'Charge amount at invoice level'"/>
|
||||
<xsl:variable name="i18n.bt102" select="'VAT category of the charge amount'"/>
|
||||
<xsl:variable name="i18n.bt100" select="'Basic amount'"/>
|
||||
<xsl:variable name="i18n.bt101" select="'Percentage'"/>
|
||||
<xsl:variable name="i18n.bt99" select="'Charge amount'"/>
|
||||
<xsl:variable name="i18n.bt103" select="'VAT rate of the charge amount'"/>
|
||||
<xsl:variable name="i18n.bt104" select="'Reason for the charge amount:'"/>
|
||||
<xsl:variable name="i18n.bt105" select="'Document level charge reason code'"/>
|
||||
<xsl:variable name="i18n.bgx42" select="'Shipping cost'"/>
|
||||
<xsl:variable name="i18n.btx274" select="'VAT category of the shipping cost'"/>
|
||||
<xsl:variable name="i18n.btx272" select="'Amount'"/>
|
||||
<xsl:variable name="i18n.btx273" select="'VAT rate of the shipping cost'"/>
|
||||
<xsl:variable name="i18n.btx271" select="'Shipping cost description'"/>
|
||||
<xsl:variable name="i18n.bt20" select="'Discount; other payment terms'"/>
|
||||
<xsl:variable name="i18n.bt9" select="'Due date'"/>
|
||||
<xsl:variable name="i18n.bt81" select="'Code for the means of payment'"/>
|
||||
<xsl:variable name="i18n.bt82" select="'Means of payment'"/>
|
||||
<xsl:variable name="i18n.bt83" select="'Usage'"/>
|
||||
<xsl:variable name="i18n.bg18" select="'Card information'"/>
|
||||
<xsl:variable name="i18n.bt87" select="'Card number'"/>
|
||||
<xsl:variable name="i18n.bt88" select="'Card holder'"/>
|
||||
<xsl:variable name="i18n.bg19" select="'Direct debit'"/>
|
||||
<xsl:variable name="i18n.bt89" select="'Mandate Reference No'"/>
|
||||
<xsl:variable name="i18n.bt91" select="'IBAN'"/>
|
||||
<xsl:variable name="i18n.bt90" select="'Creditor ID'"/>
|
||||
<xsl:variable name="i18n.bg17" select="'Transfer'"/>
|
||||
<xsl:variable name="i18n.bt85" select="'Account holder'"/>
|
||||
<xsl:variable name="i18n.bt84" select="'IBAN'"/>
|
||||
<xsl:variable name="i18n.bt86" select="'BIC'"/>
|
||||
<xsl:variable name="i18n.bg1" select="'Invoice Comment'"/>
|
||||
<xsl:variable name="i18n.bt21" select="'Subject'"/>
|
||||
<xsl:variable name="i18n.bt22" select="'Comment'"/>
|
||||
<xsl:variable name="i18n.bt126" select="'Line'"/>
|
||||
<xsl:variable name="i18n.bt127" select="'Free text'"/>
|
||||
<xsl:variable name="i18n.bt128" select="'Object ID'"/>
|
||||
<xsl:variable name="i18n.bt128-id" select="'Object ID schema'"/>
|
||||
<xsl:variable name="i18n.bt132" select="'Order line number'"/>
|
||||
<xsl:variable name="i18n.bt133" select="'Account assignment information'"/>
|
||||
<xsl:variable name="i18n.bg26" select="'Billing period'"/>
|
||||
<xsl:variable name="i18n.bt134" select="'from'"/>
|
||||
<xsl:variable name="i18n.bt135" select="'to'"/>
|
||||
<xsl:variable name="i18n.bg29" select="'Price details'"/>
|
||||
<xsl:variable name="i18n.bt129" select="'Quantity'"/>
|
||||
<xsl:variable name="i18n.bt130" select="'Unit'"/>
|
||||
<xsl:variable name="i18n.bt146" select="'Unit price (net)'"/>
|
||||
<xsl:variable name="i18n.bt131" select="'Total price (net)'"/>
|
||||
<xsl:variable name="i18n.bt147" select="'Discount (net)'"/>
|
||||
<xsl:variable name="i18n.bt148" select="'Net list price'"/>
|
||||
<xsl:variable name="i18n.bt149" select="'Number of units'"/>
|
||||
<xsl:variable name="i18n.bt150" select="'Unit of measure code'"/>
|
||||
<xsl:variable name="i18n.bt151" select="'VAT'"/>
|
||||
<xsl:variable name="i18n.bt152" select="'VAT rate in percent'"/>
|
||||
<xsl:variable name="i18n.bg27" select="'Allowances at line level'"/>
|
||||
<xsl:variable name="i18n.bt137" select="'Basic amount (net)'"/>
|
||||
<xsl:variable name="i18n.bt138" select="'Percentage'"/>
|
||||
<xsl:variable name="i18n.bt136" select="'Allowance (net)'"/>
|
||||
<xsl:variable name="i18n.bt139" select="'Reason for allowance'"/>
|
||||
<xsl:variable name="i18n.bt140" select="'Code for the reason for the estate'"/>
|
||||
<xsl:variable name="i18n.bg28" select="'Charges at invoice line level'"/>
|
||||
<xsl:variable name="i18n.bt142" select="'Basic amount (net)'"/>
|
||||
<xsl:variable name="i18n.bt143" select="'percentage'"/>
|
||||
<xsl:variable name="i18n.bt141" select="'Charge amount (net)'"/>
|
||||
<xsl:variable name="i18n.bt144" select="'Reason for the allowance'"/>
|
||||
<xsl:variable name="i18n.bt145" select="'Reason code'"/>
|
||||
<xsl:variable name="i18n.bg31" select="'Item Information'"/>
|
||||
<xsl:variable name="i18n.bt153" select="'Name'"/>
|
||||
<xsl:variable name="i18n.bt154" select="'Description'"/>
|
||||
<xsl:variable name="i18n.bt155" select="'Part number'"/>
|
||||
<xsl:variable name="i18n.bt156" select="'Customer''s material number'"/>
|
||||
<xsl:variable name="i18n.bg32" select="'Article properties'"/>
|
||||
<xsl:variable name="i18n.bt157" select="'Item ID'"/>
|
||||
<xsl:variable name="i18n.bt157-id" select="'Item ID schema'"/>
|
||||
<xsl:variable name="i18n.bt158" select="'Item classification code'"/>
|
||||
<xsl:variable name="i18n.bt158-id" select="'Identifier to form the schema'"/>
|
||||
<xsl:variable name="i18n.bt157-vers-id" select="'Version for creating the schema'"/>
|
||||
<xsl:variable name="i18n.bt159" select="'Country of origin code'"/>
|
||||
<xsl:variable name="i18n.bg4" select="'Seller Information'"/>
|
||||
<xsl:variable name="i18n.bt28" select="'Differing trade name'"/>
|
||||
<xsl:variable name="i18n.bt34" select="'Electronic address'"/>
|
||||
<xsl:variable name="i18n.bt34-id" select="'Electronic address scheme'"/>
|
||||
<xsl:variable name="i18n.bt30" select="'Register number'"/>
|
||||
<xsl:variable name="i18n.bt31" select="'VAT ID'"/>
|
||||
<xsl:variable name="i18n.bt32" select="'Tax ID'"/>
|
||||
<xsl:variable name="i18n.bt32-schema" select="'Tax ID scheme'"/>
|
||||
<xsl:variable name="i18n.bt33" select="'Further legal information'"/>
|
||||
<xsl:variable name="i18n.bt6" select="'VAT currency code'"/>
|
||||
<xsl:variable name="i18n.bg11" select="'seller''s tax representative'"/>
|
||||
<xsl:variable name="i18n.bt62" select="'Name'"/>
|
||||
<xsl:variable name="i18n.bt64" select="'Street / house number'"/>
|
||||
<xsl:variable name="i18n.bt65" select="'PO Box'"/>
|
||||
<xsl:variable name="i18n.bt164" select="'Address Addition'"/>
|
||||
<xsl:variable name="i18n.bt67" select="'Postcode'"/>
|
||||
<xsl:variable name="i18n.bt66" select="'Place'"/>
|
||||
<xsl:variable name="i18n.bt68" select="'State/Province'"/>
|
||||
<xsl:variable name="i18n.bt69" select="'Country code'"/>
|
||||
<xsl:variable name="i18n.bt63" select="'VAT ID'"/>
|
||||
<xsl:variable name="i18n.bg7" select="'Buyer Information'"/>
|
||||
<xsl:variable name="i18n.bt45" select="'Differing trade name'"/>
|
||||
<xsl:variable name="i18n.bt49" select="'E-mail address'"/>
|
||||
<xsl:variable name="i18n.bt49-id" select="'Electronic address scheme'"/>
|
||||
<xsl:variable name="i18n.bt47" select="'Register number'"/>
|
||||
<xsl:variable name="i18n.bt47-id" select="'Scheme of register/register number'"/>
|
||||
<xsl:variable name="i18n.bt48" select="'VAT ID'"/>
|
||||
<xsl:variable name="i18n.bt7" select="'VAT payday date'"/>
|
||||
<xsl:variable name="i18n.bt8" select="'VAT Statement Date Code'"/>
|
||||
<xsl:variable name="i18n.bt19" select="'Account assignment information'"/>
|
||||
<xsl:variable name="i18n.bg13" select="'Shipping information'"/>
|
||||
<xsl:variable name="i18n.bt71" select="'Identification of the place of delivery'"/>
|
||||
<xsl:variable name="i18n.bt71-id" select="'ID scheme'"/>
|
||||
<xsl:variable name="i18n.bt72" select="'Date of delivery'"/>
|
||||
<xsl:variable name="i18n.bt70" select="'Recipient name'"/>
|
||||
<xsl:variable name="i18n.bt75" select="'Street / house number'"/>
|
||||
<xsl:variable name="i18n.bt76" select="'PO Box'"/>
|
||||
<xsl:variable name="i18n.bt165" select="'Address Addition'"/>
|
||||
<xsl:variable name="i18n.bt78" select="'Code postal'"/>
|
||||
<xsl:variable name="i18n.bt77" select="'Place'"/>
|
||||
<xsl:variable name="i18n.bt79" select="'State/Province'"/>
|
||||
<xsl:variable name="i18n.bt80" select="'Country'"/>
|
||||
<xsl:variable name="i18n.bt17" select="'Assignment number'"/>
|
||||
<xsl:variable name="i18n.bt15" select="'Receipt confirmation ID'"/>
|
||||
<xsl:variable name="i18n.bt16" select="'Dispatch note ID'"/>
|
||||
<xsl:variable name="i18n.bt23" select="'Process ID'"/>
|
||||
<xsl:variable name="i18n.bt24" select="'Specification ID'"/>
|
||||
<xsl:variable name="i18n.bt18" select="'Object ID'"/>
|
||||
<xsl:variable name="i18n.bt18-id" select="'Object ID schema'"/>
|
||||
<xsl:variable name="i18n.bg10" select="'Payee other than Seller'"/>
|
||||
<xsl:variable name="i18n.bt59" select="'Name'"/>
|
||||
<xsl:variable name="i18n.bt60" select="'ID'"/>
|
||||
<xsl:variable name="i18n.bt60-id" select="'ID scheme'"/>
|
||||
<xsl:variable name="i18n.bt61" select="'Register number'"/>
|
||||
<xsl:variable name="i18n.bt61-id" select="'Scheme of register/register number'"/>
|
||||
<xsl:variable name="i18n.bg24" select="'Documents justifying the invoice'"/>
|
||||
<xsl:variable name="i18n.bt122" select="'ID'"/>
|
||||
<xsl:variable name="i18n.bt123" select="'Description'"/>
|
||||
<xsl:variable name="i18n.bt124" select="'Reference (e.g. Internet address)'"/>
|
||||
<xsl:variable name="i18n.bt125" select="'Attachment'"/>
|
||||
<xsl:variable name="i18n.bt125-format" select="'Format of attachment'"/>
|
||||
<xsl:variable name="i18n.bt125-name" select="'Name of attachment'"/>
|
||||
<xsl:variable name="i18n.historyDate" select="'Date/time'"/>
|
||||
<xsl:variable name="i18n.historySubject" select="'Subject'"/>
|
||||
<xsl:variable name="i18n.historyText" select="'Text'"/>
|
||||
<xsl:variable name="i18n.historyDetails" select="'Details:'"/>
|
||||
<xsl:variable name="i18n.payment" select="'Payment details'"/>
|
||||
<xsl:variable name="i18n.contract_information" select="'Contract Information'"/>
|
||||
<xsl:variable name="i18n.preceding_invoice_reference" select="'Previous invoices'"/>
|
||||
|
||||
<xsl:include href="xrechnung-html.univ.xsl"/>
|
||||
|
||||
</xsl:stylesheet>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
|
||||
|
||||
<xsl:variable name="i18n.bt10" select="'Routing ID'"/>
|
||||
<xsl:variable name="i18n.bt44" select="'Name'"/>
|
||||
<xsl:variable name="i18n.title" select="'XRechnung'"/>
|
||||
<xsl:variable name="i18n.overview" select="'Overview'"/>
|
||||
<xsl:variable name="i18n.items" select="'Items'"/>
|
||||
<xsl:variable name="i18n.information" select="'Information'"/>
|
||||
<xsl:variable name="i18n.attachments" select="'Attachments'"/>
|
||||
<xsl:variable name="i18n.history" select="'History'"/>
|
||||
<xsl:variable name="i18n.disclaimer" select="'We accept no liability for the correctness of the data'"/>
|
||||
<xsl:variable name="i18n.recipientInfo" select="'Buyer Information'"/>
|
||||
<xsl:variable name="i18n.dateOf" select="' from '"/>
|
||||
<xsl:variable name="i18n.bt50" select="'Street / house number'"/>
|
||||
<xsl:variable name="i18n.bt51" select="'PO Box'"/>
|
||||
<xsl:variable name="i18n.bt163" select="'Address Addition'"/>
|
||||
<xsl:variable name="i18n.bt53" select="'Postcode'"/>
|
||||
<xsl:variable name="i18n.bt52" select="'Place'"/>
|
||||
<xsl:variable name="i18n.bt54" select="'State/Province'"/>
|
||||
<xsl:variable name="i18n.bt55" select="'Country'"/>
|
||||
<xsl:variable name="i18n.bt46" select="'ID'"/>
|
||||
<xsl:variable name="i18n.bt46-id" select="'ID scheme'"/>
|
||||
<xsl:variable name="i18n.bt56" select="'Name'"/>
|
||||
<xsl:variable name="i18n.bt57" select="'Phone'"/>
|
||||
<xsl:variable name="i18n.bt58" select="'E-mail address'"/>
|
||||
<xsl:variable name="i18n.bt27" select="'Company name'"/>
|
||||
<xsl:variable name="i18n.bt35" select="'Street / house number'"/>
|
||||
<xsl:variable name="i18n.bt36" select="'PO Box'"/>
|
||||
<xsl:variable name="i18n.bt162" select="'Address Addition'"/>
|
||||
<xsl:variable name="i18n.bt38" select="'Code postal'"/>
|
||||
<xsl:variable name="i18n.bt37" select="'Place'"/>
|
||||
<xsl:variable name="i18n.bt39" select="'State/Province'"/>
|
||||
<xsl:variable name="i18n.bt40" select="'Country code'"/>
|
||||
<xsl:variable name="i18n.bt29" select="'ID'"/>
|
||||
<xsl:variable name="i18n.bt29-id" select="'ID scheme'"/>
|
||||
<xsl:variable name="i18n.bt41" select="'Name'"/>
|
||||
<xsl:variable name="i18n.bt42" select="'Phone'"/>
|
||||
<xsl:variable name="i18n.bt43" select="'E-mail address'"/>
|
||||
<xsl:variable name="i18n.bt1" select="'Seller Information'"/>
|
||||
<xsl:variable name="i18n.bt2" select="'Invoice date'"/>
|
||||
<xsl:variable name="i18n.details" select="'Invoice details'"/>
|
||||
<xsl:variable name="i18n.period" select="'Billing period'"/>
|
||||
<xsl:variable name="i18n.bt3" select="'Invoice type'"/>
|
||||
<xsl:variable name="i18n.bt5" select="'Currency'"/>
|
||||
<xsl:variable name="i18n.bt73" select="'from'"/>
|
||||
<xsl:variable name="i18n.bt74" select="'to'"/>
|
||||
<xsl:variable name="i18n.bt11" select="'Project number'"/>
|
||||
<xsl:variable name="i18n.bt12" select="'Contract Number'"/>
|
||||
<xsl:variable name="i18n.bt13" select="'Order number'"/>
|
||||
<xsl:variable name="i18n.bt14" select="'Order number'"/>
|
||||
<xsl:variable name="i18n.bt25" select="'Invoice number'"/>
|
||||
<xsl:variable name="i18n.bt26" select="'Invoice date'"/>
|
||||
<xsl:variable name="i18n.bg22" select="'Total amounts of the invoice'"/>
|
||||
<xsl:variable name="i18n.bt106" select="'Line total'"/>
|
||||
<xsl:variable name="i18n.bt107" select="'Total discounts'"/>
|
||||
<xsl:variable name="i18n.bt108" select="'Total charges'"/>
|
||||
<xsl:variable name="i18n.bt109" select="'Grand total'"/>
|
||||
<xsl:variable name="i18n.bt110" select="'VAT amount'"/>
|
||||
<xsl:variable name="i18n.bt111" select="'Total VAT'"/>
|
||||
<xsl:variable name="i18n.bt112" select="'Grand total'"/>
|
||||
<xsl:variable name="i18n.bt113" select="'Amount paid'"/>
|
||||
<xsl:variable name="i18n.bt114" select="'rounding amount'"/>
|
||||
<xsl:variable name="i18n.bt115" select="'Amount Due'"/>
|
||||
<xsl:variable name="i18n.bg23" select="'Breakdown of VAT at invoice level'"/>
|
||||
<xsl:variable name="i18n.bt118" select="'VAT category'"/>
|
||||
<xsl:variable name="i18n.bt116" select="'Grand total'"/>
|
||||
<xsl:variable name="i18n.bt119" select="'VAT rate'"/>
|
||||
<xsl:variable name="i18n.bt117" select="'VAT amount'"/>
|
||||
<xsl:variable name="i18n.bt120" select="'Reason for exemption:'"/>
|
||||
<xsl:variable name="i18n.bt121" select="'ID for the exemption reason:'"/>
|
||||
<xsl:variable name="i18n.bg20" select="'Allowance at invoice level'"/>
|
||||
<xsl:variable name="i18n.bt95" select="'VAT category of the discount:'"/>
|
||||
<xsl:variable name="i18n.bt93" select="'Basic amount'"/>
|
||||
<xsl:variable name="i18n.bt94" select="'Percentage'"/>
|
||||
<xsl:variable name="i18n.bt92" select="'Allowance'"/>
|
||||
<xsl:variable name="i18n.bt96" select="'VAT rate on allowance'"/>
|
||||
<xsl:variable name="i18n.bt97" select="'Reason for the allowance'"/>
|
||||
<xsl:variable name="i18n.bt98" select="'Document level allowance reason code'"/>
|
||||
<xsl:variable name="i18n.bg21" select="'Charge amount at invoice level'"/>
|
||||
<xsl:variable name="i18n.bt102" select="'VAT category of the charge amount'"/>
|
||||
<xsl:variable name="i18n.bt100" select="'Basic amount'"/>
|
||||
<xsl:variable name="i18n.bt101" select="'Percentage'"/>
|
||||
<xsl:variable name="i18n.bt99" select="'Charge amount'"/>
|
||||
<xsl:variable name="i18n.bt103" select="'VAT rate of the charge amount'"/>
|
||||
<xsl:variable name="i18n.bt104" select="'Reason for the charge amount:'"/>
|
||||
<xsl:variable name="i18n.bt105" select="'Document level charge reason code'"/>
|
||||
<xsl:variable name="i18n.bgx42" select="'Shipping cost'"/>
|
||||
<xsl:variable name="i18n.btx274" select="'VAT category of the shipping cost'"/>
|
||||
<xsl:variable name="i18n.btx272" select="'Amount'"/>
|
||||
<xsl:variable name="i18n.btx273" select="'VAT rate of the shipping cost'"/>
|
||||
<xsl:variable name="i18n.btx271" select="'Shipping cost description'"/>
|
||||
<xsl:variable name="i18n.bt20" select="'Discount; other payment terms'"/>
|
||||
<xsl:variable name="i18n.bt9" select="'Due date'"/>
|
||||
<xsl:variable name="i18n.bt81" select="'Code for the means of payment'"/>
|
||||
<xsl:variable name="i18n.bt82" select="'Means of payment'"/>
|
||||
<xsl:variable name="i18n.bt83" select="'Usage'"/>
|
||||
<xsl:variable name="i18n.bg18" select="'Card information'"/>
|
||||
<xsl:variable name="i18n.bt87" select="'Card number'"/>
|
||||
<xsl:variable name="i18n.bt88" select="'Card holder'"/>
|
||||
<xsl:variable name="i18n.bg19" select="'Direct debit'"/>
|
||||
<xsl:variable name="i18n.bt89" select="'Mandate Reference No'"/>
|
||||
<xsl:variable name="i18n.bt91" select="'IBAN'"/>
|
||||
<xsl:variable name="i18n.bt90" select="'Creditor ID'"/>
|
||||
<xsl:variable name="i18n.bg17" select="'Transfer'"/>
|
||||
<xsl:variable name="i18n.bt85" select="'Account holder'"/>
|
||||
<xsl:variable name="i18n.bt84" select="'IBAN'"/>
|
||||
<xsl:variable name="i18n.bt86" select="'BIC'"/>
|
||||
<xsl:variable name="i18n.bg1" select="'Invoice Comment'"/>
|
||||
<xsl:variable name="i18n.bt21" select="'Subject'"/>
|
||||
<xsl:variable name="i18n.bt22" select="'Comment'"/>
|
||||
<xsl:variable name="i18n.bt126" select="'Line'"/>
|
||||
<xsl:variable name="i18n.bt127" select="'Free text'"/>
|
||||
<xsl:variable name="i18n.bt128" select="'Object ID'"/>
|
||||
<xsl:variable name="i18n.bt128-id" select="'Object ID schema'"/>
|
||||
<xsl:variable name="i18n.bt132" select="'Order line number'"/>
|
||||
<xsl:variable name="i18n.bt133" select="'Account assignment information'"/>
|
||||
<xsl:variable name="i18n.bg26" select="'Billing period'"/>
|
||||
<xsl:variable name="i18n.bt134" select="'from'"/>
|
||||
<xsl:variable name="i18n.bt135" select="'to'"/>
|
||||
<xsl:variable name="i18n.bg29" select="'Price details'"/>
|
||||
<xsl:variable name="i18n.bt129" select="'Quantity'"/>
|
||||
<xsl:variable name="i18n.bt130" select="'Unit'"/>
|
||||
<xsl:variable name="i18n.bt146" select="'Unit price (net)'"/>
|
||||
<xsl:variable name="i18n.bt131" select="'Total price (net)'"/>
|
||||
<xsl:variable name="i18n.bt147" select="'Discount (net)'"/>
|
||||
<xsl:variable name="i18n.bt148" select="'Net list price'"/>
|
||||
<xsl:variable name="i18n.bt149" select="'Number of units'"/>
|
||||
<xsl:variable name="i18n.bt150" select="'Unit of measure code'"/>
|
||||
<xsl:variable name="i18n.bt151" select="'VAT'"/>
|
||||
<xsl:variable name="i18n.bt152" select="'VAT rate in percent'"/>
|
||||
<xsl:variable name="i18n.bg27" select="'Allowances at line level'"/>
|
||||
<xsl:variable name="i18n.bt137" select="'Basic amount (net)'"/>
|
||||
<xsl:variable name="i18n.bt138" select="'Percentage'"/>
|
||||
<xsl:variable name="i18n.bt136" select="'Allowance (net)'"/>
|
||||
<xsl:variable name="i18n.bt139" select="'Reason for allowance'"/>
|
||||
<xsl:variable name="i18n.bt140" select="'Code for the reason for the estate'"/>
|
||||
<xsl:variable name="i18n.bg28" select="'Charges at invoice line level'"/>
|
||||
<xsl:variable name="i18n.bt142" select="'Basic amount (net)'"/>
|
||||
<xsl:variable name="i18n.bt143" select="'percentage'"/>
|
||||
<xsl:variable name="i18n.bt141" select="'Charge amount (net)'"/>
|
||||
<xsl:variable name="i18n.bt144" select="'Reason for the allowance'"/>
|
||||
<xsl:variable name="i18n.bt145" select="'Reason code'"/>
|
||||
<xsl:variable name="i18n.bg31" select="'Item Information'"/>
|
||||
<xsl:variable name="i18n.bt153" select="'Name'"/>
|
||||
<xsl:variable name="i18n.bt154" select="'Description'"/>
|
||||
<xsl:variable name="i18n.bt155" select="'Part number'"/>
|
||||
<xsl:variable name="i18n.bt156" select="'Customer''s material number'"/>
|
||||
<xsl:variable name="i18n.bg32" select="'Article properties'"/>
|
||||
<xsl:variable name="i18n.bt157" select="'Item ID'"/>
|
||||
<xsl:variable name="i18n.bt157-id" select="'Item ID schema'"/>
|
||||
<xsl:variable name="i18n.bt158" select="'Item classification code'"/>
|
||||
<xsl:variable name="i18n.bt158-id" select="'Identifier to form the schema'"/>
|
||||
<xsl:variable name="i18n.bt157-vers-id" select="'Version for creating the schema'"/>
|
||||
<xsl:variable name="i18n.bt159" select="'Country of origin code'"/>
|
||||
<xsl:variable name="i18n.bg4" select="'Seller Information'"/>
|
||||
<xsl:variable name="i18n.bt28" select="'Differing trade name'"/>
|
||||
<xsl:variable name="i18n.bt34" select="'Electronic address'"/>
|
||||
<xsl:variable name="i18n.bt34-id" select="'Electronic address scheme'"/>
|
||||
<xsl:variable name="i18n.bt30" select="'Register number'"/>
|
||||
<xsl:variable name="i18n.bt31" select="'VAT ID'"/>
|
||||
<xsl:variable name="i18n.bt32" select="'Tax ID'"/>
|
||||
<xsl:variable name="i18n.bt32-schema" select="'Tax ID scheme'"/>
|
||||
<xsl:variable name="i18n.bt33" select="'Further legal information'"/>
|
||||
<xsl:variable name="i18n.bt6" select="'VAT currency code'"/>
|
||||
<xsl:variable name="i18n.bg11" select="'seller''s tax representative'"/>
|
||||
<xsl:variable name="i18n.bt62" select="'Name'"/>
|
||||
<xsl:variable name="i18n.bt64" select="'Street / house number'"/>
|
||||
<xsl:variable name="i18n.bt65" select="'PO Box'"/>
|
||||
<xsl:variable name="i18n.bt164" select="'Address Addition'"/>
|
||||
<xsl:variable name="i18n.bt67" select="'Postcode'"/>
|
||||
<xsl:variable name="i18n.bt66" select="'Place'"/>
|
||||
<xsl:variable name="i18n.bt68" select="'State/Province'"/>
|
||||
<xsl:variable name="i18n.bt69" select="'Country code'"/>
|
||||
<xsl:variable name="i18n.bt63" select="'VAT ID'"/>
|
||||
<xsl:variable name="i18n.bg7" select="'Buyer Information'"/>
|
||||
<xsl:variable name="i18n.bt45" select="'Differing trade name'"/>
|
||||
<xsl:variable name="i18n.bt49" select="'E-mail address'"/>
|
||||
<xsl:variable name="i18n.bt49-id" select="'Electronic address scheme'"/>
|
||||
<xsl:variable name="i18n.bt47" select="'Register number'"/>
|
||||
<xsl:variable name="i18n.bt47-id" select="'Scheme of register/register number'"/>
|
||||
<xsl:variable name="i18n.bt48" select="'VAT ID'"/>
|
||||
<xsl:variable name="i18n.bt7" select="'VAT payday date'"/>
|
||||
<xsl:variable name="i18n.bt8" select="'VAT Statement Date Code'"/>
|
||||
<xsl:variable name="i18n.bt19" select="'Account assignment information'"/>
|
||||
<xsl:variable name="i18n.bg13" select="'Shipping information'"/>
|
||||
<xsl:variable name="i18n.bt71" select="'Identification of the place of delivery'"/>
|
||||
<xsl:variable name="i18n.bt71-id" select="'ID scheme'"/>
|
||||
<xsl:variable name="i18n.bt72" select="'Date of delivery'"/>
|
||||
<xsl:variable name="i18n.bt70" select="'Recipient name'"/>
|
||||
<xsl:variable name="i18n.bt75" select="'Street / house number'"/>
|
||||
<xsl:variable name="i18n.bt76" select="'PO Box'"/>
|
||||
<xsl:variable name="i18n.bt165" select="'Address Addition'"/>
|
||||
<xsl:variable name="i18n.bt78" select="'Code postal'"/>
|
||||
<xsl:variable name="i18n.bt77" select="'Place'"/>
|
||||
<xsl:variable name="i18n.bt79" select="'State/Province'"/>
|
||||
<xsl:variable name="i18n.bt80" select="'Country'"/>
|
||||
<xsl:variable name="i18n.bt17" select="'Assignment number'"/>
|
||||
<xsl:variable name="i18n.bt15" select="'Receipt confirmation ID'"/>
|
||||
<xsl:variable name="i18n.bt16" select="'Dispatch note ID'"/>
|
||||
<xsl:variable name="i18n.btx202" select="'Delivery note ID'"/>
|
||||
<xsl:variable name="i18n.bt23" select="'Process ID'"/>
|
||||
<xsl:variable name="i18n.bt24" select="'Specification ID'"/>
|
||||
<xsl:variable name="i18n.bt18" select="'Object ID'"/>
|
||||
<xsl:variable name="i18n.bt18-id" select="'Object ID schema'"/>
|
||||
<xsl:variable name="i18n.bg10" select="'Payee other than Seller'"/>
|
||||
<xsl:variable name="i18n.bt59" select="'Name'"/>
|
||||
<xsl:variable name="i18n.bt60" select="'ID'"/>
|
||||
<xsl:variable name="i18n.bt60-id" select="'ID scheme'"/>
|
||||
<xsl:variable name="i18n.bt61" select="'Register number'"/>
|
||||
<xsl:variable name="i18n.bt61-id" select="'Scheme of register/register number'"/>
|
||||
<xsl:variable name="i18n.bg24" select="'Documents justifying the invoice'"/>
|
||||
<xsl:variable name="i18n.bt122" select="'ID'"/>
|
||||
<xsl:variable name="i18n.bt123" select="'Description'"/>
|
||||
<xsl:variable name="i18n.bt124" select="'Reference (e.g. Internet address)'"/>
|
||||
<xsl:variable name="i18n.bt125" select="'Attachment'"/>
|
||||
<xsl:variable name="i18n.bt125-format" select="'Format of attachment'"/>
|
||||
<xsl:variable name="i18n.bt125-name" select="'Name of attachment'"/>
|
||||
<xsl:variable name="i18n.historyDate" select="'Date/time'"/>
|
||||
<xsl:variable name="i18n.historySubject" select="'Subject'"/>
|
||||
<xsl:variable name="i18n.historyText" select="'Text'"/>
|
||||
<xsl:variable name="i18n.historyDetails" select="'Details:'"/>
|
||||
<xsl:variable name="i18n.payment" select="'Payment details'"/>
|
||||
<xsl:variable name="i18n.contract_information" select="'Contract Information'"/>
|
||||
<xsl:variable name="i18n.preceding_invoice_reference" select="'Previous invoices'"/>
|
||||
|
||||
<xsl:include href="xrechnung-html.univ.xsl"/>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -1,227 +1,229 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
|
||||
|
||||
<xsl:variable name="i18n.bt10" select="'Identifiant d''itinéraire'"/>
|
||||
<xsl:variable name="i18n.bt44" select="'Nom'"/>
|
||||
<xsl:variable name="i18n.title" select="'XRechnung'"/>
|
||||
<xsl:variable name="i18n.overview" select="'Aperçu'"/>
|
||||
<xsl:variable name="i18n.items" select="'Détails'"/>
|
||||
<xsl:variable name="i18n.information" select="'Additif'"/>
|
||||
<xsl:variable name="i18n.attachments" select="'Pièces jointes'"/>
|
||||
<xsl:variable name="i18n.history" select="'Historique de traitement'"/>
|
||||
<xsl:variable name="i18n.disclaimer" select="'Nous n''assumons aucune responsabilité quant à l''exactitude des données.'"/>
|
||||
<xsl:variable name="i18n.recipientInfo" select="'Informations sur l''acheteur'"/>
|
||||
<xsl:variable name="i18n.bt50" select="'Rue / Numéro de maison'"/>
|
||||
<xsl:variable name="i18n.bt51" select="'Boîte postale'"/>
|
||||
<xsl:variable name="i18n.bt163" select="'Supplément d''adresse'"/>
|
||||
<xsl:variable name="i18n.bt53" select="'Code postal'"/>
|
||||
<xsl:variable name="i18n.bt52" select="'Lieu'"/>
|
||||
<xsl:variable name="i18n.bt54" select="'Région'"/>
|
||||
<xsl:variable name="i18n.bt55" select="'Pays'"/>
|
||||
<xsl:variable name="i18n.bt46" select="'Identifiant'"/>
|
||||
<xsl:variable name="i18n.bt46-id" select="'Schéma de l''Identifiant'"/>
|
||||
<xsl:variable name="i18n.bt56" select="'Nom'"/>
|
||||
<xsl:variable name="i18n.bt57" select="'Téléphone'"/>
|
||||
<xsl:variable name="i18n.bt58" select="'Adresse électronique'"/>
|
||||
<xsl:variable name="i18n.bt27" select="'Nom de la société'"/>
|
||||
<xsl:variable name="i18n.bt35" select="'Rue / Numéro de maison'"/>
|
||||
<xsl:variable name="i18n.bt36" select="'Boîte postale'"/>
|
||||
<xsl:variable name="i18n.bt162" select="'Supplément d''adresse'"/>
|
||||
<xsl:variable name="i18n.bt38" select="'Code postal'"/>
|
||||
<xsl:variable name="i18n.bt37" select="'Lieu'"/>
|
||||
<xsl:variable name="i18n.bt39" select="'Région'"/>
|
||||
<xsl:variable name="i18n.bt40" select="'Code pays'"/>
|
||||
<xsl:variable name="i18n.bt29" select="'Identifiant'"/>
|
||||
<xsl:variable name="i18n.bt29-id" select="'Schéma de l''Identifiant'"/>
|
||||
<xsl:variable name="i18n.bt41" select="'Nom'"/>
|
||||
<xsl:variable name="i18n.bt42" select="'Téléphone'"/>
|
||||
<xsl:variable name="i18n.bt43" select="'Adresse électronique'"/>
|
||||
<xsl:variable name="i18n.bt1" select="'Informations sur le vendeur'"/>
|
||||
<xsl:variable name="i18n.bt2" select="'Date de facture'"/>
|
||||
<xsl:variable name="i18n.details" select="'Détails de la facturation'"/>
|
||||
<xsl:variable name="i18n.period" select="'Période de facturation'"/>
|
||||
<xsl:variable name="i18n.bt3" select="'Type de facture'"/>
|
||||
<xsl:variable name="i18n.bt5" select="'Devise'"/>
|
||||
<xsl:variable name="i18n.bt73" select="'de'"/>
|
||||
<xsl:variable name="i18n.bt74" select="'jusqu''à'"/>
|
||||
<xsl:variable name="i18n.bt11" select="'Numéro du projet'"/>
|
||||
<xsl:variable name="i18n.bt12" select="'Numéro du contrat'"/>
|
||||
<xsl:variable name="i18n.bt13" select="'Numéro de commande'"/>
|
||||
<xsl:variable name="i18n.bt14" select="'Numéro de commande'"/>
|
||||
<xsl:variable name="i18n.bt25" select="'Numéro de facture'"/>
|
||||
<xsl:variable name="i18n.bt26" select="'Date de facture'"/>
|
||||
<xsl:variable name="i18n.bg22" select="'Montants totaux de la facture'"/>
|
||||
<xsl:variable name="i18n.bt106" select="'Total de toutes les lignes'"/>
|
||||
<xsl:variable name="i18n.bt107" select="'Total de remises'"/>
|
||||
<xsl:variable name="i18n.bt108" select="'Total de suppléments'"/>
|
||||
<xsl:variable name="i18n.bt109" select="'Montant total'"/>
|
||||
<xsl:variable name="i18n.bt110" select="'montant de la TVA'"/>
|
||||
<xsl:variable name="i18n.bt111" select="'Montant total de TVA'"/>
|
||||
<xsl:variable name="i18n.bt112" select="'Montant total'"/>
|
||||
<xsl:variable name="i18n.bt113" select="'Montant payé'"/>
|
||||
<xsl:variable name="i18n.bt114" select="'Montant arrondi'"/>
|
||||
<xsl:variable name="i18n.bt115" select="'Montant dû'"/>
|
||||
<xsl:variable name="i18n.bg23" select="'Ventilation de la TVA au niveau de la facture'"/>
|
||||
<xsl:variable name="i18n.bt118" select="'Catégorie de TVA'"/>
|
||||
<xsl:variable name="i18n.bt116" select="'Montant total'"/>
|
||||
<xsl:variable name="i18n.bt119" select="'taux TVA'"/>
|
||||
<xsl:variable name="i18n.bt117" select="'montant de la TVA'"/>
|
||||
<xsl:variable name="i18n.bt120" select="'Motif d''exemption'"/>
|
||||
<xsl:variable name="i18n.bt121" select="'Identifiant pour motif d''exemption'"/>
|
||||
<xsl:variable name="i18n.bg20" select="'Allocation au niveau de la facture'"/>
|
||||
<xsl:variable name="i18n.bt95" select="'Catégorie de TVA de la remise'"/>
|
||||
<xsl:variable name="i18n.bt93" select="'Montant de base'"/>
|
||||
<xsl:variable name="i18n.bt94" select="'Pourcentage'"/>
|
||||
<xsl:variable name="i18n.bt92" select="'Allocation'"/>
|
||||
<xsl:variable name="i18n.bt96" select="'Taux de TVA de la allocation'"/>
|
||||
<xsl:variable name="i18n.bt97" select="'Motif de la remise'"/>
|
||||
<xsl:variable name="i18n.bt98" select="'Document level allowance reason code'"/>
|
||||
<xsl:variable name="i18n.bg21" select="'Supplément au niveau de la facture'"/>
|
||||
<xsl:variable name="i18n.bt102" select="'Catégorie de TVA du supplément'"/>
|
||||
<xsl:variable name="i18n.bt100" select="'Montant de base'"/>
|
||||
<xsl:variable name="i18n.bt101" select="'Pourcentage'"/>
|
||||
<xsl:variable name="i18n.bt99" select="'Supplément'"/>
|
||||
<xsl:variable name="i18n.bt103" select="'Taux de TVA du supplément'"/>
|
||||
<xsl:variable name="i18n.bt104" select="'Raison du supplément'"/>
|
||||
<xsl:variable name="i18n.bt105" select="'Document level charge reason code'"/>
|
||||
<xsl:variable name="i18n.bgx42" select="'Frais d''expédition'"/>
|
||||
<xsl:variable name="i18n.btx274" select="'Catégorie de TVA des frais de port'"/>
|
||||
<xsl:variable name="i18n.btx272" select="'Montant'"/>
|
||||
<xsl:variable name="i18n.btx273" select="'VAT rate of the shipping cost'"/>
|
||||
<xsl:variable name="i18n.btx271" select="'Taux de TVA des frais de port'"/>
|
||||
<xsl:variable name="i18n.bt20" select="'Rabais; autres conditions de paiement'"/>
|
||||
<xsl:variable name="i18n.bt9" select="'Date d''échéance'"/>
|
||||
<xsl:variable name="i18n.bt81" select="'Code du moyen de paiement'"/>
|
||||
<xsl:variable name="i18n.bt82" select="'Moyens de paiement'"/>
|
||||
<xsl:variable name="i18n.bt83" select="'Utilisation'"/>
|
||||
<xsl:variable name="i18n.bg18" select="'Information de la carte'"/>
|
||||
<xsl:variable name="i18n.bt87" select="'Numéro de carte'"/>
|
||||
<xsl:variable name="i18n.bt88" select="'Titulaire de la carte'"/>
|
||||
<xsl:variable name="i18n.bg19" select="'Prélèvement automatique'"/>
|
||||
<xsl:variable name="i18n.bt89" select="'Numéro de référence du mandat'"/>
|
||||
<xsl:variable name="i18n.bt91" select="'IBAN'"/>
|
||||
<xsl:variable name="i18n.bt90" select="'Identifiant du créancier'"/>
|
||||
<xsl:variable name="i18n.bg17" select="'Transfert'"/>
|
||||
<xsl:variable name="i18n.bt85" select="'Titulaire du compte'"/>
|
||||
<xsl:variable name="i18n.bt84" select="'IBAN'"/>
|
||||
<xsl:variable name="i18n.bt86" select="'BIC'"/>
|
||||
<xsl:variable name="i18n.bg1" select="'Commentaire sur la facture'"/>
|
||||
<xsl:variable name="i18n.bt21" select="'Objet'"/>
|
||||
<xsl:variable name="i18n.bt22" select="'Commentaire'"/>
|
||||
<xsl:variable name="i18n.bt126" select="'Position'"/>
|
||||
<xsl:variable name="i18n.bt127" select="'Texte libre'"/>
|
||||
<xsl:variable name="i18n.bt128" select="'Identifiant d''objet'"/>
|
||||
<xsl:variable name="i18n.bt128-id" select="'Schéma de l''Identifiant objet'"/>
|
||||
<xsl:variable name="i18n.bt132" select="'Numéro de ligne de commande'"/>
|
||||
<xsl:variable name="i18n.bt133" select="'Information sur l''attribution de compte'"/>
|
||||
<xsl:variable name="i18n.bg26" select="'Période de facturation'"/>
|
||||
<xsl:variable name="i18n.bt134" select="'de'"/>
|
||||
<xsl:variable name="i18n.bt135" select="'jusqu''à'"/>
|
||||
<xsl:variable name="i18n.bg29" select="'Détails de prix'"/>
|
||||
<xsl:variable name="i18n.bt129" select="'Quantité'"/>
|
||||
<xsl:variable name="i18n.bt130" select="'Unité'"/>
|
||||
<xsl:variable name="i18n.bt146" select="'Prix unitaire net'"/>
|
||||
<xsl:variable name="i18n.bt131" select="'Prix total net'"/>
|
||||
<xsl:variable name="i18n.bt147" select="'Remise nette'"/>
|
||||
<xsl:variable name="i18n.bt148" select="'Prix catalogue (net)'"/>
|
||||
<xsl:variable name="i18n.bt149" select="'Nombre d''unités'"/>
|
||||
<xsl:variable name="i18n.bt150" select="'Code de l''unité de mesure '"/>
|
||||
<xsl:variable name="i18n.bt151" select="'TVA'"/>
|
||||
<xsl:variable name="i18n.bt152" select="'Pourcentage de TVA'"/>
|
||||
<xsl:variable name="i18n.bg27" select="'Allocations au niveau de la ligne de facture'"/>
|
||||
<xsl:variable name="i18n.bt137" select="'Montant de base net'"/>
|
||||
<xsl:variable name="i18n.bt138" select="'Pourcentage'"/>
|
||||
<xsl:variable name="i18n.bt136" select="'Allocation nette'"/>
|
||||
<xsl:variable name="i18n.bt139" select="'Raison pour l''allocation '"/>
|
||||
<xsl:variable name="i18n.bt140" select="'Code de la raison pour l''allocation'"/>
|
||||
<xsl:variable name="i18n.bg28" select="'Supplément au niveau de la ligne de facture'"/>
|
||||
<xsl:variable name="i18n.bt142" select="'Montant de base net'"/>
|
||||
<xsl:variable name="i18n.bt143" select="'Pourcentage'"/>
|
||||
<xsl:variable name="i18n.bt141" select="'Supplément net'"/>
|
||||
<xsl:variable name="i18n.bt144" select="'Raison du supplément'"/>
|
||||
<xsl:variable name="i18n.bt145" select="'Code de la raison du supplément'"/>
|
||||
<xsl:variable name="i18n.bg31" select="'Informations sur l''article'"/>
|
||||
<xsl:variable name="i18n.bt153" select="'Nom'"/>
|
||||
<xsl:variable name="i18n.bt154" select="'Description'"/>
|
||||
<xsl:variable name="i18n.bt155" select="'Numéro d''article'"/>
|
||||
<xsl:variable name="i18n.bt156" select="'N° client / matériel'"/>
|
||||
<xsl:variable name="i18n.bg32" select="'Propriétés de l''article'"/>
|
||||
<xsl:variable name="i18n.bt157" select="'Identifiant article'"/>
|
||||
<xsl:variable name="i18n.bt157-id" select="'Schéma de l''Identifiant article'"/>
|
||||
<xsl:variable name="i18n.bt158" select="'Code de classification des articles'"/>
|
||||
<xsl:variable name="i18n.bt158-id" select="'Identifiant pour la création du schéma'"/>
|
||||
<xsl:variable name="i18n.bt157-vers-id" select="'Version de création du schéma'"/>
|
||||
<xsl:variable name="i18n.bt159" select="'Code du pays d''origine'"/>
|
||||
<xsl:variable name="i18n.bg4" select="'Informations sur le vendeur'"/>
|
||||
<xsl:variable name="i18n.bt28" select="'Nom commercial différent'"/>
|
||||
<xsl:variable name="i18n.bt34" select="'Adresse électronique'"/>
|
||||
<xsl:variable name="i18n.bt34-id" select="'Schéma de l''adresse électronique'"/>
|
||||
<xsl:variable name="i18n.bt30" select="'Numéro d''enregistrement'"/>
|
||||
<xsl:variable name="i18n.bt31" select="'Identifiant TVA'"/>
|
||||
<xsl:variable name="i18n.bt32" select="'Numéro fiscale'"/>
|
||||
<xsl:variable name="i18n.bt32-schema" select="'Schéma du numéro fiscal'"/>
|
||||
<xsl:variable name="i18n.bt33" select="'Autres informations légales'"/>
|
||||
<xsl:variable name="i18n.bt6" select="'Code devise de la TVA'"/>
|
||||
<xsl:variable name="i18n.bg11" select="'Représentant fiscal du vendeur'"/>
|
||||
<xsl:variable name="i18n.bt62" select="'Nom'"/>
|
||||
<xsl:variable name="i18n.bt64" select="'Rue / Numéro de maison'"/>
|
||||
<xsl:variable name="i18n.bt65" select="'Boîte postale'"/>
|
||||
<xsl:variable name="i18n.bt164" select="'Supplément d''adresse'"/>
|
||||
<xsl:variable name="i18n.bt67" select="'Code postal'"/>
|
||||
<xsl:variable name="i18n.bt66" select="'Lieu'"/>
|
||||
<xsl:variable name="i18n.bt68" select="'Région'"/>
|
||||
<xsl:variable name="i18n.bt69" select="'Code pays'"/>
|
||||
<xsl:variable name="i18n.bt63" select="'Identifiant TVA'"/>
|
||||
<xsl:variable name="i18n.bg7" select="'Informations sur l''acheteur'"/>
|
||||
<xsl:variable name="i18n.bt45" select="'Nom commercial différent '"/>
|
||||
<xsl:variable name="i18n.bt49" select="'Adresse électronique'"/>
|
||||
<xsl:variable name="i18n.bt49-id" select="'Schéma de l''adresse électronique'"/>
|
||||
<xsl:variable name="i18n.bt47" select="'Numéro d''enregistrement'"/>
|
||||
<xsl:variable name="i18n.bt47-id" select="'Schéma du numéro d''enregistrement'"/>
|
||||
<xsl:variable name="i18n.bt48" select="'Identifiant TVA'"/>
|
||||
<xsl:variable name="i18n.bt7" select="'Date de facturation de la TVA'"/>
|
||||
<xsl:variable name="i18n.bt8" select="'Code de date de règlement de la TVA'"/>
|
||||
<xsl:variable name="i18n.bt19" select="'Informations sur l''attribution de compte'"/>
|
||||
<xsl:variable name="i18n.bg13" select="'Informations de livraison'"/>
|
||||
<xsl:variable name="i18n.bt71" select="'Identification du lieu de livraison'"/>
|
||||
<xsl:variable name="i18n.bt71-id" select="'Schéma de l''Identifiant'"/>
|
||||
<xsl:variable name="i18n.bt72" select="'Date de livraison'"/>
|
||||
<xsl:variable name="i18n.bt70" select="'Nom du destinataire'"/>
|
||||
<xsl:variable name="i18n.bt75" select="'Rue / Numéro de maison'"/>
|
||||
<xsl:variable name="i18n.bt76" select="'Boîte postale'"/>
|
||||
<xsl:variable name="i18n.bt165" select="'Supplément d''adresse'"/>
|
||||
<xsl:variable name="i18n.bt78" select="'Code postal'"/>
|
||||
<xsl:variable name="i18n.bt77" select="'Lieu'"/>
|
||||
<xsl:variable name="i18n.bt79" select="'Région'"/>
|
||||
<xsl:variable name="i18n.bt80" select="'Pays'"/>
|
||||
<xsl:variable name="i18n.bt17" select="'Numéro d''attribution'"/>
|
||||
<xsl:variable name="i18n.bt15" select="'Identifiant de l''accusé de réception'"/>
|
||||
<xsl:variable name="i18n.bt16" select="'Identifiant du bordereau d''expédition'"/>
|
||||
<xsl:variable name="i18n.bt23" select="'Identifiant processus'"/>
|
||||
<xsl:variable name="i18n.bt24" select="'Identifiant spécification'"/>
|
||||
<xsl:variable name="i18n.bt18" select="'Identifiant objet'"/>
|
||||
<xsl:variable name="i18n.bt18-id" select="'Schéma de l''Identifiant objet'"/>
|
||||
<xsl:variable name="i18n.bg10" select="'bénéficiaire autre que le vendeur'"/>
|
||||
<xsl:variable name="i18n.bt59" select="'Nom'"/>
|
||||
<xsl:variable name="i18n.bt60" select="'Identifiant'"/>
|
||||
<xsl:variable name="i18n.bt60-id" select="'Schéma de l''Identifiant'"/>
|
||||
<xsl:variable name="i18n.bt61" select="'Numéro d''enregistrement'"/>
|
||||
<xsl:variable name="i18n.bt61-id" select="'Schéma du numéro d''enregistrement'"/>
|
||||
<xsl:variable name="i18n.bg24" select="'Documents justificatifs'"/>
|
||||
<xsl:variable name="i18n.bt122" select="'Identifiant'"/>
|
||||
<xsl:variable name="i18n.bt123" select="'Description'"/>
|
||||
<xsl:variable name="i18n.bt124" select="'Référence (par exemple l''adresse Internet)'"/>
|
||||
<xsl:variable name="i18n.bt125" select="'Document joint'"/>
|
||||
<xsl:variable name="i18n.bt125-format" select="'Format du document joint'"/>
|
||||
<xsl:variable name="i18n.bt125-name" select="'Nom du document joint '"/>
|
||||
<xsl:variable name="i18n.historyDate" select="'Date/heure'"/>
|
||||
<xsl:variable name="i18n.historySubject" select="'Objet'"/>
|
||||
<xsl:variable name="i18n.historyText" select="'Texte'"/>
|
||||
<xsl:variable name="i18n.historyDetails" select="'Détails'"/>
|
||||
<xsl:variable name="i18n.payment" select="'Détails de paiement'"/>
|
||||
<xsl:variable name="i18n.contract_information" select="'Informations sur le contrat'"/>
|
||||
<xsl:variable name="i18n.preceding_invoice_reference" select="'Factures précédentes'"/>
|
||||
|
||||
<xsl:include href="xrechnung-html.univ.xsl"/>
|
||||
|
||||
</xsl:stylesheet>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
|
||||
|
||||
<xsl:variable name="i18n.bt10" select="'Identifiant d''itinéraire'"/>
|
||||
<xsl:variable name="i18n.bt44" select="'Nom'"/>
|
||||
<xsl:variable name="i18n.title" select="'XRechnung'"/>
|
||||
<xsl:variable name="i18n.overview" select="'Aperçu'"/>
|
||||
<xsl:variable name="i18n.items" select="'Détails'"/>
|
||||
<xsl:variable name="i18n.information" select="'Additif'"/>
|
||||
<xsl:variable name="i18n.attachments" select="'Pièces jointes'"/>
|
||||
<xsl:variable name="i18n.history" select="'Historique de traitement'"/>
|
||||
<xsl:variable name="i18n.disclaimer" select="'Nous n''assumons aucune responsabilité quant à l''exactitude des données.'"/>
|
||||
<xsl:variable name="i18n.recipientInfo" select="'Informations sur l''acheteur'"/>
|
||||
<xsl:variable name="i18n.dateOf" select="' du '"/>
|
||||
<xsl:variable name="i18n.bt50" select="'Rue / Numéro de maison'"/>
|
||||
<xsl:variable name="i18n.bt51" select="'Boîte postale'"/>
|
||||
<xsl:variable name="i18n.bt163" select="'Supplément d''adresse'"/>
|
||||
<xsl:variable name="i18n.bt53" select="'Code postal'"/>
|
||||
<xsl:variable name="i18n.bt52" select="'Lieu'"/>
|
||||
<xsl:variable name="i18n.bt54" select="'Région'"/>
|
||||
<xsl:variable name="i18n.bt55" select="'Pays'"/>
|
||||
<xsl:variable name="i18n.bt46" select="'Identifiant'"/>
|
||||
<xsl:variable name="i18n.bt46-id" select="'Schéma de l''Identifiant'"/>
|
||||
<xsl:variable name="i18n.bt56" select="'Nom'"/>
|
||||
<xsl:variable name="i18n.bt57" select="'Téléphone'"/>
|
||||
<xsl:variable name="i18n.bt58" select="'Adresse électronique'"/>
|
||||
<xsl:variable name="i18n.bt27" select="'Nom de la société'"/>
|
||||
<xsl:variable name="i18n.bt35" select="'Rue / Numéro de maison'"/>
|
||||
<xsl:variable name="i18n.bt36" select="'Boîte postale'"/>
|
||||
<xsl:variable name="i18n.bt162" select="'Supplément d''adresse'"/>
|
||||
<xsl:variable name="i18n.bt38" select="'Code postal'"/>
|
||||
<xsl:variable name="i18n.bt37" select="'Lieu'"/>
|
||||
<xsl:variable name="i18n.bt39" select="'Région'"/>
|
||||
<xsl:variable name="i18n.bt40" select="'Code pays'"/>
|
||||
<xsl:variable name="i18n.bt29" select="'Identifiant'"/>
|
||||
<xsl:variable name="i18n.bt29-id" select="'Schéma de l''Identifiant'"/>
|
||||
<xsl:variable name="i18n.bt41" select="'Nom'"/>
|
||||
<xsl:variable name="i18n.bt42" select="'Téléphone'"/>
|
||||
<xsl:variable name="i18n.bt43" select="'Adresse électronique'"/>
|
||||
<xsl:variable name="i18n.bt1" select="'Informations sur le vendeur'"/>
|
||||
<xsl:variable name="i18n.bt2" select="'Date de facture'"/>
|
||||
<xsl:variable name="i18n.details" select="'Détails de la facturation'"/>
|
||||
<xsl:variable name="i18n.period" select="'Période de facturation'"/>
|
||||
<xsl:variable name="i18n.bt3" select="'Type de facture'"/>
|
||||
<xsl:variable name="i18n.bt5" select="'Devise'"/>
|
||||
<xsl:variable name="i18n.bt73" select="'de'"/>
|
||||
<xsl:variable name="i18n.bt74" select="'jusqu''à'"/>
|
||||
<xsl:variable name="i18n.bt11" select="'Numéro du projet'"/>
|
||||
<xsl:variable name="i18n.bt12" select="'Numéro du contrat'"/>
|
||||
<xsl:variable name="i18n.bt13" select="'Numéro de commande'"/>
|
||||
<xsl:variable name="i18n.bt14" select="'Numéro de commande'"/>
|
||||
<xsl:variable name="i18n.bt25" select="'Numéro de facture'"/>
|
||||
<xsl:variable name="i18n.bt26" select="'Date de facture'"/>
|
||||
<xsl:variable name="i18n.bg22" select="'Montants totaux de la facture'"/>
|
||||
<xsl:variable name="i18n.bt106" select="'Total de toutes les lignes'"/>
|
||||
<xsl:variable name="i18n.bt107" select="'Total de remises'"/>
|
||||
<xsl:variable name="i18n.bt108" select="'Total de suppléments'"/>
|
||||
<xsl:variable name="i18n.bt109" select="'Montant total'"/>
|
||||
<xsl:variable name="i18n.bt110" select="'montant de la TVA'"/>
|
||||
<xsl:variable name="i18n.bt111" select="'Montant total de TVA'"/>
|
||||
<xsl:variable name="i18n.bt112" select="'Montant total'"/>
|
||||
<xsl:variable name="i18n.bt113" select="'Montant payé'"/>
|
||||
<xsl:variable name="i18n.bt114" select="'Montant arrondi'"/>
|
||||
<xsl:variable name="i18n.bt115" select="'Montant dû'"/>
|
||||
<xsl:variable name="i18n.bg23" select="'Ventilation de la TVA au niveau de la facture'"/>
|
||||
<xsl:variable name="i18n.bt118" select="'Catégorie de TVA'"/>
|
||||
<xsl:variable name="i18n.bt116" select="'Montant total'"/>
|
||||
<xsl:variable name="i18n.bt119" select="'taux TVA'"/>
|
||||
<xsl:variable name="i18n.bt117" select="'montant de la TVA'"/>
|
||||
<xsl:variable name="i18n.bt120" select="'Motif d''exemption'"/>
|
||||
<xsl:variable name="i18n.bt121" select="'Identifiant pour motif d''exemption'"/>
|
||||
<xsl:variable name="i18n.bg20" select="'Allocation au niveau de la facture'"/>
|
||||
<xsl:variable name="i18n.bt95" select="'Catégorie de TVA de la remise'"/>
|
||||
<xsl:variable name="i18n.bt93" select="'Montant de base'"/>
|
||||
<xsl:variable name="i18n.bt94" select="'Pourcentage'"/>
|
||||
<xsl:variable name="i18n.bt92" select="'Allocation'"/>
|
||||
<xsl:variable name="i18n.bt96" select="'Taux de TVA de la allocation'"/>
|
||||
<xsl:variable name="i18n.bt97" select="'Motif de la remise'"/>
|
||||
<xsl:variable name="i18n.bt98" select="'Document level allowance reason code'"/>
|
||||
<xsl:variable name="i18n.bg21" select="'Supplément au niveau de la facture'"/>
|
||||
<xsl:variable name="i18n.bt102" select="'Catégorie de TVA du supplément'"/>
|
||||
<xsl:variable name="i18n.bt100" select="'Montant de base'"/>
|
||||
<xsl:variable name="i18n.bt101" select="'Pourcentage'"/>
|
||||
<xsl:variable name="i18n.bt99" select="'Supplément'"/>
|
||||
<xsl:variable name="i18n.bt103" select="'Taux de TVA du supplément'"/>
|
||||
<xsl:variable name="i18n.bt104" select="'Raison du supplément'"/>
|
||||
<xsl:variable name="i18n.bt105" select="'Document level charge reason code'"/>
|
||||
<xsl:variable name="i18n.bgx42" select="'Frais d''expédition'"/>
|
||||
<xsl:variable name="i18n.btx274" select="'Catégorie de TVA des frais de port'"/>
|
||||
<xsl:variable name="i18n.btx272" select="'Montant'"/>
|
||||
<xsl:variable name="i18n.btx273" select="'VAT rate of the shipping cost'"/>
|
||||
<xsl:variable name="i18n.btx271" select="'Taux de TVA des frais de port'"/>
|
||||
<xsl:variable name="i18n.bt20" select="'Rabais; autres conditions de paiement'"/>
|
||||
<xsl:variable name="i18n.bt9" select="'Date d''échéance'"/>
|
||||
<xsl:variable name="i18n.bt81" select="'Code du moyen de paiement'"/>
|
||||
<xsl:variable name="i18n.bt82" select="'Moyens de paiement'"/>
|
||||
<xsl:variable name="i18n.bt83" select="'Utilisation'"/>
|
||||
<xsl:variable name="i18n.bg18" select="'Information de la carte'"/>
|
||||
<xsl:variable name="i18n.bt87" select="'Numéro de carte'"/>
|
||||
<xsl:variable name="i18n.bt88" select="'Titulaire de la carte'"/>
|
||||
<xsl:variable name="i18n.bg19" select="'Prélèvement automatique'"/>
|
||||
<xsl:variable name="i18n.bt89" select="'Numéro de référence du mandat'"/>
|
||||
<xsl:variable name="i18n.bt91" select="'IBAN'"/>
|
||||
<xsl:variable name="i18n.bt90" select="'Identifiant du créancier'"/>
|
||||
<xsl:variable name="i18n.bg17" select="'Transfert'"/>
|
||||
<xsl:variable name="i18n.bt85" select="'Titulaire du compte'"/>
|
||||
<xsl:variable name="i18n.bt84" select="'IBAN'"/>
|
||||
<xsl:variable name="i18n.bt86" select="'BIC'"/>
|
||||
<xsl:variable name="i18n.bg1" select="'Commentaire sur la facture'"/>
|
||||
<xsl:variable name="i18n.bt21" select="'Objet'"/>
|
||||
<xsl:variable name="i18n.bt22" select="'Commentaire'"/>
|
||||
<xsl:variable name="i18n.bt126" select="'Position'"/>
|
||||
<xsl:variable name="i18n.bt127" select="'Texte libre'"/>
|
||||
<xsl:variable name="i18n.bt128" select="'Identifiant d''objet'"/>
|
||||
<xsl:variable name="i18n.bt128-id" select="'Schéma de l''Identifiant objet'"/>
|
||||
<xsl:variable name="i18n.bt132" select="'Numéro de ligne de commande'"/>
|
||||
<xsl:variable name="i18n.bt133" select="'Information sur l''attribution de compte'"/>
|
||||
<xsl:variable name="i18n.bg26" select="'Période de facturation'"/>
|
||||
<xsl:variable name="i18n.bt134" select="'de'"/>
|
||||
<xsl:variable name="i18n.bt135" select="'jusqu''à'"/>
|
||||
<xsl:variable name="i18n.bg29" select="'Détails de prix'"/>
|
||||
<xsl:variable name="i18n.bt129" select="'Quantité'"/>
|
||||
<xsl:variable name="i18n.bt130" select="'Unité'"/>
|
||||
<xsl:variable name="i18n.bt146" select="'Prix unitaire net'"/>
|
||||
<xsl:variable name="i18n.bt131" select="'Prix total net'"/>
|
||||
<xsl:variable name="i18n.bt147" select="'Remise nette'"/>
|
||||
<xsl:variable name="i18n.bt148" select="'Prix catalogue (net)'"/>
|
||||
<xsl:variable name="i18n.bt149" select="'Nombre d''unités'"/>
|
||||
<xsl:variable name="i18n.bt150" select="'Code de l''unité de mesure '"/>
|
||||
<xsl:variable name="i18n.bt151" select="'TVA'"/>
|
||||
<xsl:variable name="i18n.bt152" select="'Pourcentage de TVA'"/>
|
||||
<xsl:variable name="i18n.bg27" select="'Allocations au niveau de la ligne de facture'"/>
|
||||
<xsl:variable name="i18n.bt137" select="'Montant de base net'"/>
|
||||
<xsl:variable name="i18n.bt138" select="'Pourcentage'"/>
|
||||
<xsl:variable name="i18n.bt136" select="'Allocation nette'"/>
|
||||
<xsl:variable name="i18n.bt139" select="'Raison pour l''allocation '"/>
|
||||
<xsl:variable name="i18n.bt140" select="'Code de la raison pour l''allocation'"/>
|
||||
<xsl:variable name="i18n.bg28" select="'Supplément au niveau de la ligne de facture'"/>
|
||||
<xsl:variable name="i18n.bt142" select="'Montant de base net'"/>
|
||||
<xsl:variable name="i18n.bt143" select="'Pourcentage'"/>
|
||||
<xsl:variable name="i18n.bt141" select="'Supplément net'"/>
|
||||
<xsl:variable name="i18n.bt144" select="'Raison du supplément'"/>
|
||||
<xsl:variable name="i18n.bt145" select="'Code de la raison du supplément'"/>
|
||||
<xsl:variable name="i18n.bg31" select="'Informations sur l''article'"/>
|
||||
<xsl:variable name="i18n.bt153" select="'Nom'"/>
|
||||
<xsl:variable name="i18n.bt154" select="'Description'"/>
|
||||
<xsl:variable name="i18n.bt155" select="'Numéro d''article'"/>
|
||||
<xsl:variable name="i18n.bt156" select="'N° client / matériel'"/>
|
||||
<xsl:variable name="i18n.bg32" select="'Propriétés de l''article'"/>
|
||||
<xsl:variable name="i18n.bt157" select="'Identifiant article'"/>
|
||||
<xsl:variable name="i18n.bt157-id" select="'Schéma de l''Identifiant article'"/>
|
||||
<xsl:variable name="i18n.bt158" select="'Code de classification des articles'"/>
|
||||
<xsl:variable name="i18n.bt158-id" select="'Identifiant pour la création du schéma'"/>
|
||||
<xsl:variable name="i18n.bt157-vers-id" select="'Version de création du schéma'"/>
|
||||
<xsl:variable name="i18n.bt159" select="'Code du pays d''origine'"/>
|
||||
<xsl:variable name="i18n.bg4" select="'Informations sur le vendeur'"/>
|
||||
<xsl:variable name="i18n.bt28" select="'Nom commercial différent'"/>
|
||||
<xsl:variable name="i18n.bt34" select="'Adresse électronique'"/>
|
||||
<xsl:variable name="i18n.bt34-id" select="'Schéma de l''adresse électronique'"/>
|
||||
<xsl:variable name="i18n.bt30" select="'Numéro d''enregistrement'"/>
|
||||
<xsl:variable name="i18n.bt31" select="'Identifiant TVA'"/>
|
||||
<xsl:variable name="i18n.bt32" select="'Numéro fiscale'"/>
|
||||
<xsl:variable name="i18n.bt32-schema" select="'Schéma du numéro fiscal'"/>
|
||||
<xsl:variable name="i18n.bt33" select="'Autres informations légales'"/>
|
||||
<xsl:variable name="i18n.bt6" select="'Code devise de la TVA'"/>
|
||||
<xsl:variable name="i18n.bg11" select="'Représentant fiscal du vendeur'"/>
|
||||
<xsl:variable name="i18n.bt62" select="'Nom'"/>
|
||||
<xsl:variable name="i18n.bt64" select="'Rue / Numéro de maison'"/>
|
||||
<xsl:variable name="i18n.bt65" select="'Boîte postale'"/>
|
||||
<xsl:variable name="i18n.bt164" select="'Supplément d''adresse'"/>
|
||||
<xsl:variable name="i18n.bt67" select="'Code postal'"/>
|
||||
<xsl:variable name="i18n.bt66" select="'Lieu'"/>
|
||||
<xsl:variable name="i18n.bt68" select="'Région'"/>
|
||||
<xsl:variable name="i18n.bt69" select="'Code pays'"/>
|
||||
<xsl:variable name="i18n.bt63" select="'Identifiant TVA'"/>
|
||||
<xsl:variable name="i18n.bg7" select="'Informations sur l''acheteur'"/>
|
||||
<xsl:variable name="i18n.bt45" select="'Nom commercial différent '"/>
|
||||
<xsl:variable name="i18n.bt49" select="'Adresse électronique'"/>
|
||||
<xsl:variable name="i18n.bt49-id" select="'Schéma de l''adresse électronique'"/>
|
||||
<xsl:variable name="i18n.bt47" select="'Numéro d''enregistrement'"/>
|
||||
<xsl:variable name="i18n.bt47-id" select="'Schéma du numéro d''enregistrement'"/>
|
||||
<xsl:variable name="i18n.bt48" select="'Identifiant TVA'"/>
|
||||
<xsl:variable name="i18n.bt7" select="'Date de facturation de la TVA'"/>
|
||||
<xsl:variable name="i18n.bt8" select="'Code de date de règlement de la TVA'"/>
|
||||
<xsl:variable name="i18n.bt19" select="'Informations sur l''attribution de compte'"/>
|
||||
<xsl:variable name="i18n.bg13" select="'Informations de livraison'"/>
|
||||
<xsl:variable name="i18n.bt71" select="'Identification du lieu de livraison'"/>
|
||||
<xsl:variable name="i18n.bt71-id" select="'Schéma de l''Identifiant'"/>
|
||||
<xsl:variable name="i18n.bt72" select="'Date de livraison'"/>
|
||||
<xsl:variable name="i18n.bt70" select="'Nom du destinataire'"/>
|
||||
<xsl:variable name="i18n.bt75" select="'Rue / Numéro de maison'"/>
|
||||
<xsl:variable name="i18n.bt76" select="'Boîte postale'"/>
|
||||
<xsl:variable name="i18n.bt165" select="'Supplément d''adresse'"/>
|
||||
<xsl:variable name="i18n.bt78" select="'Code postal'"/>
|
||||
<xsl:variable name="i18n.bt77" select="'Lieu'"/>
|
||||
<xsl:variable name="i18n.bt79" select="'Région'"/>
|
||||
<xsl:variable name="i18n.bt80" select="'Pays'"/>
|
||||
<xsl:variable name="i18n.bt17" select="'Numéro d''attribution'"/>
|
||||
<xsl:variable name="i18n.bt15" select="'Identifiant de l''accusé de réception'"/>
|
||||
<xsl:variable name="i18n.bt16" select="'Identifiant du bordereau d''expédition'"/>
|
||||
<xsl:variable name="i18n.btx202" select="'Identifiant du bon de livraison'"/>
|
||||
<xsl:variable name="i18n.bt23" select="'Identifiant processus'"/>
|
||||
<xsl:variable name="i18n.bt24" select="'Identifiant spécification'"/>
|
||||
<xsl:variable name="i18n.bt18" select="'Identifiant objet'"/>
|
||||
<xsl:variable name="i18n.bt18-id" select="'Schéma de l''Identifiant objet'"/>
|
||||
<xsl:variable name="i18n.bg10" select="'bénéficiaire autre que le vendeur'"/>
|
||||
<xsl:variable name="i18n.bt59" select="'Nom'"/>
|
||||
<xsl:variable name="i18n.bt60" select="'Identifiant'"/>
|
||||
<xsl:variable name="i18n.bt60-id" select="'Schéma de l''Identifiant'"/>
|
||||
<xsl:variable name="i18n.bt61" select="'Numéro d''enregistrement'"/>
|
||||
<xsl:variable name="i18n.bt61-id" select="'Schéma du numéro d''enregistrement'"/>
|
||||
<xsl:variable name="i18n.bg24" select="'Documents justificatifs'"/>
|
||||
<xsl:variable name="i18n.bt122" select="'Identifiant'"/>
|
||||
<xsl:variable name="i18n.bt123" select="'Description'"/>
|
||||
<xsl:variable name="i18n.bt124" select="'Référence (par exemple l''adresse Internet)'"/>
|
||||
<xsl:variable name="i18n.bt125" select="'Document joint'"/>
|
||||
<xsl:variable name="i18n.bt125-format" select="'Format du document joint'"/>
|
||||
<xsl:variable name="i18n.bt125-name" select="'Nom du document joint '"/>
|
||||
<xsl:variable name="i18n.historyDate" select="'Date/heure'"/>
|
||||
<xsl:variable name="i18n.historySubject" select="'Objet'"/>
|
||||
<xsl:variable name="i18n.historyText" select="'Texte'"/>
|
||||
<xsl:variable name="i18n.historyDetails" select="'Détails'"/>
|
||||
<xsl:variable name="i18n.payment" select="'Détails de paiement'"/>
|
||||
<xsl:variable name="i18n.contract_information" select="'Informations sur le contrat'"/>
|
||||
<xsl:variable name="i18n.preceding_invoice_reference" select="'Factures précédentes'"/>
|
||||
|
||||
<xsl:include href="xrechnung-html.univ.xsl"/>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
||||
@@ -1144,17 +1144,29 @@ function downloadData (element_id) {
|
||||
<xsl:apply-templates select="./xr:VAT_BREAKDOWN"/>
|
||||
</div>
|
||||
|
||||
<div class="boxtabelle boxabstandtop boxtabelleZweispaltig">
|
||||
<xsl:apply-templates select="./xr:DOCUMENT_LEVEL_ALLOWANCES"/>
|
||||
</div>
|
||||
<xsl:choose>
|
||||
<xsl:when test="./xr:DOCUMENT_LEVEL_ALLOWANCES">
|
||||
<div class="boxtabelle boxabstandtop boxtabelleZweispaltig">
|
||||
<xsl:apply-templates select="./xr:DOCUMENT_LEVEL_ALLOWANCES"/>
|
||||
</div>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
|
||||
<div class="boxtabelle boxabstandtop boxtabelleZweispaltig">
|
||||
<xsl:apply-templates select="./xr:DOCUMENT_LEVEL_CHARGES"/>
|
||||
</div>
|
||||
|
||||
<div class="boxtabelle boxabstandtop boxtabelleZweispaltig">
|
||||
<xsl:apply-templates select="./xr:LOGISTICS_SERVICE_CHARGES"/>
|
||||
</div>
|
||||
<xsl:choose>
|
||||
<xsl:when test="./xr:DOCUMENT_LEVEL_CHARGES">
|
||||
<div class="boxtabelle boxabstandtop boxtabelleZweispaltig">
|
||||
<xsl:apply-templates select="./xr:DOCUMENT_LEVEL_CHARGES"/>
|
||||
</div>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="./xr:LOGISTICS_SERVICE_CHARGES">
|
||||
<div class="boxtabelle boxabstandtop boxtabelleZweispaltig">
|
||||
<xsl:apply-templates select="./xr:LOGISTICS_SERVICE_CHARGES"/>
|
||||
</div>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
|
||||
<div class="boxtabelle boxabstandtop boxtabelleZweispaltig first">
|
||||
<div class="boxzeile">
|
||||
@@ -2182,11 +2194,24 @@ function downloadData (element_id) {
|
||||
</div>
|
||||
<div class="boxzeile">
|
||||
<div class="boxdaten legende"><xsl:value-of select="$i18n.bt15"/>:</div>
|
||||
<div id="BT-15" title="BT-15" class="boxdaten wert"><xsl:value-of select="xr:Receiving_advice_reference"/></div>
|
||||
<div id="BT-15" title="BT-15" class="boxdaten wert">
|
||||
<xsl:value-of select="xr:Receiving_advice_reference"/>
|
||||
<xsl:if test="xr:Receiving_advice_reference/@bt-x-201"><xsl:value-of select="concat($i18n.dateOf, format-date(xr:Receiving_advice_reference/@bt-x-201,'[D].[M].[Y]'))"/></xsl:if>
|
||||
</div>
|
||||
</div>
|
||||
<div class="boxzeile">
|
||||
<div class="boxdaten legende"><xsl:value-of select="$i18n.bt16"/>:</div>
|
||||
<div id="BT-16" title="BT-16" class="boxdaten wert"><xsl:value-of select="xr:Despatch_advice_reference"/></div>
|
||||
<div id="BT-16" title="BT-16" class="boxdaten wert">
|
||||
<xsl:value-of select="xr:Despatch_advice_reference"/>
|
||||
<xsl:if test="xr:Despatch_advice_reference/@bt-x-200"><xsl:value-of select="concat($i18n.dateOf, format-date(xr:Despatch_advice_reference/@bt-x-200,'[D].[M].[Y]'))"/></xsl:if>
|
||||
</div>
|
||||
</div>
|
||||
<div class="boxzeile">
|
||||
<div class="boxdaten legende"><xsl:value-of select="$i18n.btx202"/>:</div>
|
||||
<div id="BT-X-202" title="BT-X-202" class="boxdaten wert">
|
||||
<xsl:value-of select="xr:Delivery_note_reference"/>
|
||||
<xsl:if test="xr:Delivery_note_reference/@bt-x-203"><xsl:value-of select="concat($i18n.dateOf, format-date(xr:Delivery_note_reference/@bt-x-203,'[D].[M].[Y]'))"/></xsl:if>
|
||||
</div>
|
||||
</div>
|
||||
<div class="boxzeile">
|
||||
<div class="boxdaten legende"><xsl:value-of select="$i18n.bt23"/>:</div>
|
||||
|
||||
Reference in New Issue
Block a user