Snelstart Journaalposten export
Dit script exporteert journaalposten naar een CSV bestand.
Hiermee kun je via S for Software de journaalposten weer importeren in jouw snelstart administratie.
@using ReflexNG.ImportsExports.Domain.Templating.Formatters
@inherits ReflexNG.ImportsExports.Domain.Templating.JournalEntry.JournalEntryExportTemplate
@{
var csvOptions = CsvOptions.Default.WithSeparator(',');
// Writes entries in FMuta6 format
foreach (var entry in Model.JournalEntries)
{
int counter = 0;
WriteCsv(
csvOptions,
Formatter.Create(counter),
Formatter.Create(entry.JournalEntryType),
Formatter.Create(""), // JournalCode
Formatter.Create(""), // Period
Formatter.Create(entry.Date).Configure(options => options.WithFormat(@"\""yy\""")), // BookYear
Formatter.Create(entry.JournalEntryNumber.ToString()),
Formatter.Create(entry.Description),
Formatter.Create(entry.Date).Configure(options => options.WithFormat(@"\""ddMMyy\""")),
Formatter.Create(""), // LedgerId
Formatter.Create(entry.Debtor > 0 ? entry.Debtor.ToString() : ""),
Formatter.Create(entry.Creditor > 0 ? entry.Creditor.ToString() : ""),
Formatter.Create(""), // Reserved12
Formatter.Create(entry.Amount).Configure(o => o.WithDecimals(2)),
Formatter.Create(""), // JournalizeInOtherCurrencies
Formatter.Create(entry.Currency),
Formatter.Create(entry.CurrencyExchangeAmount).Configure(o => o.WithDecimals(2)),
Formatter.Create(""), // InvoiceDiscount
Formatter.Create(entry.AmountInvoiceDiscount).Configure(o => o.WithDecimals(2)),
Formatter.Create(entry.ExpiryDateInvoice).Configure(options => options.WithFormat(@"\""ddMMyy\""")),
Formatter.Create(""), // ExpiryDateInvoiceDiscount
Formatter.Create(""), // VatCode
Formatter.Create(""), // VatAmount
Formatter.Create(""), // WeekNumber
Formatter.Create(""), // PaymentReference
Formatter.Create(entry.PaymentTerm),
Formatter.Create(""), // AmountGAccount
Formatter.Create(""), // CostCenter
Formatter.Create(""), // CostBearer
Formatter.Create(""), // Count
Formatter.Create(""), // Reserved30
Formatter.Create(""), // Reserved31
Formatter.Create(""), // StornoEntry
Formatter.Create(""), // ProjectCode
Formatter.Create(""), // AmountRevenue
Formatter.Create(""), // AmountCost
Formatter.Create(""), // CountRevenue
Formatter.Create(""), // CountCost
Formatter.Create(""), // CostCenterProject
Formatter.Create(""), // ProjectDescription
Formatter.Create("")); // CostCategoryProject
foreach (var line in entry.Lines)
{
counter++;
WriteCsv(
csvOptions,
Formatter.Create(counter),
Formatter.Create(line.JournalEntryType),
Formatter.Create(""), // JournalCode
Formatter.Create(""), // Period
Formatter.Create(line.Date).Configure(options => options.WithFormat(@"\""yy\""")), // BookYear
Formatter.Create(line.JournalEntryNumber.ToString()),
Formatter.Create(line.Description),
Formatter.Create(line.Date).Configure(options => options.WithFormat(@"\""ddMMyy\""")),
Formatter.Create(line.LedgerId),
Formatter.Create(""), // Debtor
Formatter.Create(""), // Creditor
Formatter.Create(""), // Reserved12
Formatter.Create(line.Amount).Configure(o => o.WithDecimals(2)),
Formatter.Create(""), // JournalizeInOtherCurrencies
Formatter.Create(line.Currency),
Formatter.Create(""), // CurrencyExchangeAmount
Formatter.Create(""), // InvoiceDiscount
Formatter.Create(""), // AmountInvoiceDiscount
Formatter.Create(""), // ExpiryDateInvoice
Formatter.Create(""), // ExpiryDateInvoiceDiscount
Formatter.Create(line.VatCode),
Formatter.Create(line.VatAmount).Configure(o => o.WithDecimals(2)),
Formatter.Create(""), // WeekNumber
Formatter.Create(""), // PaymentReference
Formatter.Create(""), // PaymentTerm
Formatter.Create(""), // AmountGAccount
Formatter.Create(line.CostCenter > 0 ? line.CostCenter.ToString() : ""),
Formatter.Create(""), // CostBearer
Formatter.Create(""), // Count
Formatter.Create(""), // Reserved30
Formatter.Create(""), // Reserved31
Formatter.Create(""), // StornoEntry
Formatter.Create(""), // ProjectCode
Formatter.Create(""), // AmountRevenue
Formatter.Create(""), // AmountCost
Formatter.Create(""), // CountRevenue
Formatter.Create(""), // CountCost
Formatter.Create(""), // CostCenterProject
Formatter.Create(""), // ProjectDescription
Formatter.Create("")); // CostCategoryProject
}
}
}