219 lines
5.0 KiB
TypeScript
219 lines
5.0 KiB
TypeScript
import * as tsclass from '@tsclass/tsclass';
|
|
import * as interfaces from '../interfaces/index.js';
|
|
|
|
const fromContact: tsclass.business.IContact = {
|
|
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: tsclass.business.IContact = {
|
|
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: tsclass.business.ILetter = {
|
|
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',
|
|
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: 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,
|
|
},
|
|
],
|
|
}
|
|
},
|
|
|
|
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: true,
|
|
enableDefaultFooter: true,
|
|
languageCode: 'DE',
|
|
}; |