dees-document/ts_shared/demoletter.ts

219 lines
5.0 KiB
TypeScript
Raw Normal View History

import * as plugins from './plugins.js';
import * as interfaces from './interfaces/index.js';
const fromContact: plugins.tsclass.business.IContact = {
2023-10-16 16:28:12 +00:00
name: 'Awesome From Company',
type: 'company',
description: 'a company that does stuff',
address: {
streetName: 'Awesome Street',
houseNumber: '5',
city: 'Bremen',
country: 'Germany',
postalCode: '28359',
},
vatId: 'DE12345678',
sepaConnection: {
bic: 'BPOTBEB1',
iban: 'BE01234567891616'
},
email: 'hello@awesome.company',
phone: '+49 421 1234567',
fax: '+49 421 1234568',
};
const toContact: plugins.tsclass.business.IContact = {
2023-10-16 16:28:12 +00:00
name: 'Awesome To GmbH',
type: 'company',
customerNumber: 'LL-CLIENT-123',
description: 'a company that does stuff',
address: {
streetName: 'Awesome Street',
houseNumber: '5',
city: 'Bremen',
country: 'Germany',
postalCode: '28359'
},
vatId: 'BE12345678',
}
export const demoLetter: plugins.tsclass.business.ILetter = {
2023-10-16 16:28:12 +00:00
versionInfo: {
type: 'draft',
version: '1.0.0',
},
accentColor: null,
content: {
textData: null,
timesheetData: null,
contractData: {
contractDate: Date.now(),
id: 'someid'
},
invoiceData: {
id: 'LL-INV-48765',
reverseCharge: true,
dueInDays: 30,
billedBy: fromContact,
billedTo: toContact,
status: null,
deliveryDate: new Date().getTime(),
periodOfPerformance: null,
printResult: null,
currency: 'EUR',
notes: [],
type: 'debitnote',
2023-10-16 16:28:12 +00:00
items: [
{
name: 'Item with 19% VAT',
unitQuantity: 2,
2023-10-16 16:28:12 +00:00
unitNetPrice: 100,
unitType: 'hours',
vatPercentage: 19,
position: 0,
2023-10-16 16:28:12 +00:00
},
{
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,
2023-10-16 16:28:12 +00:00
unitNetPrice: 100,
unitType: 'hours',
vatPercentage: 7,
position: 6,
2023-10-16 16:28:12 +00:00
},
{
name: 'Item with 7% VAT',
unitQuantity: 4,
2023-10-16 16:28:12 +00:00
unitNetPrice: 230,
unitType: 'hours',
vatPercentage: 7,
position: 8,
2023-10-16 16:28:12 +00:00
},
{
name: 'Item with 21% VAT',
unitQuantity: 3,
2023-10-16 16:28:12 +00:00
unitNetPrice: 230,
unitType: 'hours',
vatPercentage: 21,
position: 9,
2023-10-16 16:28:12 +00:00
},
{
name: 'Item with 0% VAT',
unitQuantity: 1,
unitNetPrice: 230,
unitType: 'hours',
vatPercentage: 0,
position: 10,
2023-10-16 16:28:12 +00:00
},
{
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: 10,
},
{
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: 10,
},
{
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: 10,
},
2023-10-16 16:28:12 +00:00
],
}
},
date: Date.now(),
type: 'invoice',
needsCoverSheet: false,
objectActions: [],
pdf: null,
from: fromContact,
to: toContact,
incidenceId: null,
language: null,
legalContact: null,
logoUrl: null,
pdfAttachments: null,
subject: 'Invoice: LL-INV-48765',
}
export const demoDocumentSettings: interfaces.IDocumentSettings = {
enableTopDraftText: true,
enableDefaultHeader: false,
enableDefaultFooter: false,
languageCode: 'DE',
};