CSV Accounting Export

The CSV Accounting Export integration automatically generates CSV files from your authorised sales invoices and delivers them via SFTP upload, email, or both. This is ideal if your accounting software isn't directly supported by EventWorks but can import CSV files.

Getting There

Go to Settings > Integrations and find the CSV Accounting Export card. Click Enable to configure the export settings.

CSV export integration card

Overview

Once enabled, the CSV export:

  • Automatically generates CSV files when a sales invoice is authorised
  • Delivers via SFTP to a server of your choice
  • Delivers via email to one or more email addresses
  • Uses customisable field mapping with a template system for complete control over the output format

Key Concepts

Automatic Trigger

CSV files are generated automatically when a sales (receivable) invoice changes to Authorised status. No manual action is needed — the export happens in the background.

Field Map Templates

The CSV export uses a template system to define which data appears in each column. Each row in the field map defines one column with a header name and a template expression. This gives you full control over the output format to match your accounting software's import requirements.

Row-Per-Line-Item

The CSV contains one row for each line item on the invoice. Every row has access to both the line item data and the parent invoice data, so you can include invoice-level details (like the invoice number) alongside line-item details (like quantity and price).

How To...

Enable the CSV Export

    • Go to Settings > Integrations.
    • Click the CSV Accounting Export card.
    • Configure the delivery method(s):
- Email address — Enter one or more email addresses (comma-separated) to receive the CSV as an attachment. - SFTP Host, Port, Username, Password — Enter your SFTP server details to upload files automatically.
    • Configure the output format:
- Field Map — Define the columns and their data (see Configuring the Field Map below). - Separator — The column separator character (default: ,). - File name — A template for the output filename.
    • Click Save.

Configuring the Field Map

The field map defines the structure of your CSV file. Each line specifies one column using the format:

ColumnHeader||{{ template_expression }}

For example:

Invoice Number||{{ invoice.number }}
Date||{{ invoice.date }}
Description||{{ lineItem.description }}
Quantity||{{ lineItem.quantity }}
Unit Price||{{ lineItem.unit_amount }}
Tax Code||{{ lineItem.tax_code }}
Total||{{ lineItem.line_total }}
Account||{{ invoice.account.name }}
Event Code||{{ invoice.event.code }}

Available Invoice Fields

Expression Description
{{ invoice.number }} Invoice number
{{ invoice.date }} Invoice date
{{ invoice.due_date }} Due date
{{ invoice.po_number }} Purchase order number
{{ invoice.subtotal }} Invoice subtotal (before tax)
{{ invoice.tax }} Total tax amount
{{ invoice.total }} Invoice total (including tax)
{{ invoice.currency_id }} Currency code
{{ invoice.exchange_rate }} Exchange rate
{{ invoice.event.code }} Event code
{{ invoice.event.name }} Event name
{{ invoice.account.name }} Account/client name
{{ invoice.contact.first_name }} Contact first name
{{ invoice.contact.last_name }} Contact last name
{{ invoice.contact.email }} Contact email

Available Line Item Fields

Expression Description
{{ lineItem.description }} Line item description
{{ lineItem.quantity }} Quantity
{{ lineItem.unit_amount }} Unit price
{{ lineItem.tax_code }} Tax code
{{ lineItem.tax_rate }} Tax rate (decimal, e.g. 0.2 for 20%)
{{ lineItem.tax_amount }} Calculated tax amount
{{ lineItem.line_amount }} Line total before tax
{{ lineItem.line_total }} Line total including tax
{{ lineItem.discount }} Discount value
{{ lineItem.discount_amount }} Discount as currency amount
{{ lineItem.discount_rate }} Discount as percentage

You can also access related data through the line item's relationships, such as {{ lineItem.type.name }} for the cost type name.

Configuring the Filename

The filename is also a template with access to the invoice variable. For example:

invoice-{{ invoice.number }}.csv

This would produce filenames like invoice-INV001.csv.

Delivery Methods

The CSV can be delivered in two ways, and both can be active simultaneously:

SFTP Upload:
  • Enter your server's host, port (default: 22), username, and password.
  • The CSV file is uploaded automatically when generated.
Email:
  • Enter one or more email addresses separated by commas.
  • The CSV is sent as an email attachment.

Disconnect the CSV Export

    • On the CSV Accounting Export card, click Disconnect.

Settings & Configuration

All CSV export settings are configured in the connection modal at Settings > Integrations. You need the edit settings permission.

Delivery Settings

Setting Description
Email address Comma-separated email addresses for delivery
SFTP Host SFTP server hostname
SFTP Port SFTP port (default: 22)
Username SFTP username
Password SFTP password

Format Settings

Setting Description
Field Map Column definitions using Header\ \ {{ template }} format, one per line
Separator Column separator character (default: ,)
File name Filename template with access to the invoice variable

Tips & Best Practices

Tip: Test your field map with a simple configuration first, then add more columns once you've confirmed the basic format works with your accounting software.
Tip: Use both SFTP and email delivery during initial setup — email lets you verify the output before relying on SFTP alone.

Frequently Asked Questions

Q: When is the CSV generated?

Automatically when a sales (receivable) invoice is changed to Authorised status. Purchase invoices are not included.

Q: Can I generate a CSV manually?

No. CSV generation is triggered automatically when invoices are authorised. There is no manual export button.

Q: What if the SFTP upload fails?

If the SFTP upload fails, the error is logged. The email delivery (if configured) still proceeds independently.

Q: Can I use a different separator for tab-separated files?

Yes. Change the Separator field to a tab character or any other delimiter your accounting software expects.

Q: How many rows are in each CSV?

One row per line item on the invoice, plus a header row. An invoice with 5 line items produces a 6-row CSV.

Related Articles

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.