dees-document/ts_shared/demoletter.ts

248 lines
5.2 KiB
TypeScript

import * as plugins from "./plugins.js";
import * as interfaces from "./interfaces/index.js";
const fromContact: plugins.tsclass.business.TContact = {
name: "Awesome From Company",
type: "company",
status: "active",
foundedDate: { day: 1, month: 1, year: 2025 },
description: "a company that does stuff",
address: {
streetName: "Awesome Street",
houseNumber: "5",
city: "Bremen",
country: "Germany",
postalCode: "28359",
},
sepaConnection: {
bic: "BPOTBEB1",
iban: "BE01234567891616",
},
email: "hello@awesome.company",
phone: "+49 421 1234567",
fax: "+49 421 1234568",
registrationDetails: {
registrationId: "HRB 35230 HB",
registrationName: "Amtsgericht Bremen",
vatId: "DE12345678",
},
};
const toContact: plugins.tsclass.business.TContact = {
name: "Awesome To GmbH",
type: "company",
status: "active",
foundedDate: { day: 1, month: 1, year: 2025 },
customerNumber: "LL-CLIENT-123",
description: "a company that does stuff",
address: {
streetName: "Awesome Street",
houseNumber: "5",
city: "Bremen",
country: "Germany",
postalCode: "28359",
},
registrationDetails: {
registrationId: "HRB 35230 HB",
registrationName: "Amtsgericht Bremen",
vatId: "DE12345678",
},
};
export const demoLetter: plugins.tsclass.finance.TInvoice = {
type: "invoice",
id: "LL-INV-48765",
versionInfo: {
version: "1.0.0",
type: "draft",
},
language: "de",
date: Date.now(),
incidenceId: "LL-INV-48765",
invoiceId: "LL-INV-48765",
subject: "LL-INV-48765",
reverseCharge: true,
dueInDays: 30,
from: fromContact,
to: toContact,
status: null,
deliveryDate: new Date().getTime(),
periodOfPerformance: {
from: +new Date().setDate(new Date().getDate() - 7),
to: +new Date(),
},
printResult: null,
currency: "EUR",
notes: [],
invoiceType: "debitnote",
items: [
{
name: "Item with 19% VAT",
unitQuantity: 2,
unitNetPrice: 100,
unitType: "hours",
vatPercentage: 19,
position: 0,
},
{
name: "Item with 7% VAT",
unitQuantity: 4,
unitNetPrice: 100,
unitType: "hours",
vatPercentage: 7,
position: 1,
},
{
name: "Item with 7% VAT",
unitQuantity: 3,
unitNetPrice: 230,
unitType: "hours",
vatPercentage: 7,
position: 2,
},
{
name: "Item with 21% VAT",
unitQuantity: 1,
unitNetPrice: 230,
unitType: "hours",
vatPercentage: 21,
position: 3,
},
{
name: "Item with 0% VAT",
unitQuantity: 6,
unitNetPrice: 230,
unitType: "hours",
vatPercentage: 0,
position: 4,
},
{
name: "Item with 19% VAT",
unitQuantity: 8,
unitNetPrice: 100,
unitType: "hours",
vatPercentage: 19,
position: 5,
},
{
name: "Item with 7% VAT",
unitQuantity: 9,
unitNetPrice: 100,
unitType: "hours",
vatPercentage: 7,
position: 6,
},
{
name: "Item with 7% VAT",
unitQuantity: 4,
unitNetPrice: 230,
unitType: "hours",
vatPercentage: 7,
position: 8,
},
{
name: "Item with 21% VAT",
unitQuantity: 3,
unitNetPrice: 230,
unitType: "hours",
vatPercentage: 21,
position: 9,
},
{
name: "Item with 0% VAT",
unitQuantity: 1,
unitNetPrice: 230,
unitType: "hours",
vatPercentage: 0,
position: 10,
},
{
name: "Item with 0% VAT",
unitQuantity: 1,
unitNetPrice: 230,
unitType: "hours",
vatPercentage: 0,
position: 11,
},
{
name: "Item with 0% VAT",
unitQuantity: 1,
unitNetPrice: 230,
unitType: "hours",
vatPercentage: 0,
position: 12,
},
{
name: "Item with 0% VAT",
unitQuantity: 1,
unitNetPrice: 230,
unitType: "hours",
vatPercentage: 0,
position: 13,
},
{
name: "Item with 0% VAT",
unitQuantity: 1,
unitNetPrice: 230,
unitType: "hours",
vatPercentage: 0,
position: 14,
},
{
name: "Item with 0% VAT",
unitQuantity: 1,
unitNetPrice: 230,
unitType: "hours",
vatPercentage: 0,
position: 15,
},
{
name: "Item with 0% VAT",
unitQuantity: 1,
unitNetPrice: 230,
unitType: "hours",
vatPercentage: 0,
position: 16,
},
{
name: "Item with 0% VAT",
unitQuantity: 1,
unitNetPrice: 230,
unitType: "hours",
vatPercentage: 0,
position: 17,
},
{
name: "Item with 0% VAT",
unitQuantity: 1,
unitNetPrice: 230,
unitType: "hours",
vatPercentage: 0,
position: 18,
},
{
name: "Item with 0% VAT",
unitQuantity: 1,
unitNetPrice: 230,
unitType: "hours",
vatPercentage: 0,
position: 19,
},
{
name: "Item with 0% VAT",
unitQuantity: 1,
unitNetPrice: 230,
unitType: "hours",
vatPercentage: 0,
position: 20,
},
],
};
export const demoDocumentSettings: interfaces.IDocumentSettings = {
enableTopDraftText: true,
enableDefaultHeader: true,
enableDefaultFooter: true,
languageCode: "DE",
};