Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update #119

Merged
merged 2 commits into from
Oct 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions source/en/clients.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,10 @@ Most of the information in a client entry or edit form is entirely optional, and
- **VAT Number** - The VAT number field is a Value Added Tax ID number which applies mostly to countries from the European Union who need to track this sometimes for tax purposes.
- **Website** - Your client's website, optional, and for reference.
- **Phone** - Primary phone contact number for the client, organization, or business, separate from any individual contact's phone number within the client entry.
- **Routing ID** - Used for storing the eInvoice routing number which is assigned as an address to locate this client when delivering eInvoices.
- **Valid VAT Number** - Check this if a valid VAT number is supplied because in some jurisdictions, this may change the way tax is applied to the client (only works when "Calculate Taxes" is turned on under _Settings>Tax Settings_.)
- **Tax Exempt** - This only works when "Calculate Taxes" is turned on under _Settings>Tax Settings_. It will result in no taxes being applied by default for invoices created for this client.
- **Classification** - This is for optionally storing the type of customer this is for your own purposes. Options in the dropdown list are: Individual, Business, Partnership, Trust, Charity, Government, Other.

### Contacts

Expand Down
87 changes: 63 additions & 24 deletions source/en/custom-fields.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,11 @@ documentation.

### Getting all available selectors on the design

To make sure we can target all elements easily & make changes available faster to you, we introduced the "Draft" mode.
To turn on "Draft" mode, make sure you toggle:
To make sure we can target all elements easily & make changes available faster to you, turn on "HTML Mode":

Settings (Advanced settings) > Invoice Design > Customize & preview > Draft mode:
Settings (Advanced settings) > Invoice Design > Custom Designs (edit) > HTML Mode:

![alt text](/assets/images/pdf_customization/draft-mode.png "Toggling draft mode")
![alt text](/assets/images/pdf_customization/custom_design_html_mode.png "Toggling HTML mode")

Let's select the item column:

Expand Down Expand Up @@ -67,45 +66,89 @@ or just curious about understanding how templates work.

### Creating a design entry

Let's start by cloning the existing design.
To do so, open the admin panel and navigate to **Settings > Invoice Design > Customize & Preview**.
Let's start by cloning an existing design. To do so, open the admin panel and navigate to **Settings > Invoice Design > Custom Designs > New Design**.

The base design isn't important if you have a completely new design in mind. Name your design and click **Save**.
From this list you can create, edit, archive and delete custom designs.

![alt text](/assets/images/creating-custom-design/custom_designs_list.png)

Creating a new design:

![alt text](/assets/images/creating-custom-design/01-creating-design-entry.png "Creating a design entry")
![alt text](/assets/images/creating-custom-design/new_tutorial_design.png "Creating a design entry")

We will name ours **Tutorial** and turn on **HTML Mode** to see changes more quickly.
We will name ours **Tutorial** and base it off of the "Clean" existing design.

The base design isn't important if you have a completely new design in mind. Name your design and click **Save**.

### Design structure

On the top of the page we should see tabs such as, **Body**, **Header**, **Footer**, **Products**, **Includes**.
On the top of the page we should see tabs such as, **Settings**, **Body**, **Header**, **Footer**, **Includes**, **Variables**.
This is how design is structured and for the most part, you can leave at is.

We will spend most of our time in **Includes** and **Body** sections.

#### Settings

![alt text](/assets/images/creating-custom-design/create_edit_design_settings_page.png "Design Edit or Create - Settings Page")

On the settings page, you can control how your design behaves while developing.

- Name: This is the name of your design
- Design: This is a dropdown list of existing designs; selecting an option will override your current design with the selected one.
- Entity: Select the type of item the design is for; Invoice, Quote, Credit, or Purchase Order.
- Invoice: In this example, the dropdown below the Entity dropdown is titled "Invoice" because we have selected the entity as Invoice. This will provide a list of recent items that are the type of entity you selected, so you can preview how your design would look based on the selected item.
- Ex. We could select invoice #0027 to see that invoice's data (client, items, etc.) populated on the preview in real time as we are changing the design. Note: Changing the design doesn't modify the invoice itself; this only serves as a preview tool to see how it would apply to the selected invoice.
- ![alt text](/assets/images/creating-custom-design/design_selecting_invoice_entity_example.png "Selecting invoice entity example")
- View Docs: This is a link which opens the current page you are reading (documentation on custom designs).
- Import: This allows you to paste the code of a design you wish to import. The code to paste is obtained from selecting "Export" in the source design you're copying.
- ![alt text](/assets/images/creating-custom-design/design_import_popup.png)
- Export: This button will copy the code of the design to your clipboard. You can use this to import to another design.

#### Body

As the name suggests this is the heart of the design. This is where we will organize
our elements.
As the name suggests this is the heart of the design. This is where we will organize our elements. The HTML code of the body is all here.

#### Header

If you want to be fully semantic & fully follow HTML standards, this is where
you should place your header content.
If you want to be fully semantic & fully follow HTML standards, this is where you should place your header content.

#### Footer

Just like the header, this is a more semantic section for footer content.

#### Products

<x-warning>At the moment of the writing, this is **unsupported** feature. In the future,
it will allow you to dynamically allocate table columns.</x-warning>

#### Includes

This is where your styles go.

#### Variables

This is a list of some of the variables which are available to the current design. Clicking on a variable will copy it to the clipboard, so it can be pasted in the design.

### Other Tabs

You will see several additional tabs under Settings>Invoice Design.

- General Settings
- This is where you can customize general settings for the _selected_ design. Toggling "Update all records" will apply your changes to all past records that were created with that design.
- Ex. Page Layout, Page Size, Font Size, Logo Size, Fonts, Colors, Page Numbering...
- Note that changing a design does not change invoices/records that were previously created using that design; to apply changes to all existing records, select "Update all records" after making a change.
- Custom Designs
- This is where you can create & edit custom designs.

The remaining tabs listed below control which fields/variables/columns display on **all designs** that contain the data. For example, to include the client's VAT Number, you would add that field under the Client tab, and it would show on all invoices.

- Client
- Company
- Company Address
- Invoice
- Quote
- Credit
- Vendor
- Purchase Order
- Product Columns
- Task Columns
- Total Fields

### Requirements

Before we start customizing/coding our own design, keep in mind that Invoice Ninja has some requirements.
Expand All @@ -125,11 +168,7 @@ They are specific IDs for contents.

To get specific selectors, please refer to [Getting all available selectors on the design](#getting-all-available-selectors-on-the-design).

If it's easier for you to develop a static template first, you can always copy the source code provided
under Settings tab and develop locally, copying changes into Invoice Ninja once you're happy
with the design.

![alt text](/assets/images/creating-custom-design/02-showing-the-source-code.png "Grabbing the source PDFs' source code")
If it's easier for you to develop a static template first, you can always copy the source code provided under Settings tab and develop locally, copying changes into Invoice Ninja once you're happy with the design.

### Selectors

Expand Down
48 changes: 38 additions & 10 deletions source/en/einvoicing.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,25 +3,27 @@ extends: _layouts.user_guide
section: content
locale: en
---

# e-invoices ***ALPHA RELEASE - NOT FOR PRODUCTION USE***
# E Invoicing

## Introduction
e-invoicing is rapidly being adopted in many jurisdictions. Invoice Ninja has supported UBL format invoices for some time and now we also support a range of e-invoice formats including direct delivery of e-invoices over the PEPPOL network.

All of the supported e-invoice standards can be downloaded directly after creating a standard invoice in Invoice Ninja. In some jurisdictions you are able to forward the e-invoice directly to your customer, however in some regions (ie, Italy) the invoice is sent through the government and then forwarded onto the customer. This introduces a number of complexities including both parties being registered with the government body (SDI for Italy). If you are in one of these jurisdictions, you will need to start the process (if you have not already) in acquiring a government routing ID.

## e-invoice standards
The list of supported e-invoice formats include:

- Facturae (Spain)
- FatturaPA (Italy)
- FACT1 (Romania)
- Zugferd - XRechung (Germany)
- EN16931 (Generic)
- PEPPOL (Universal - Cross industry / border)
- [PEPPOL (Universal - Cross industry / border)](#peppol)
- [ZUGFeRD - XRechung (Germany)](#zugferd)
- [Facturae (Spain)](#facturae)
- [FatturaPA (Italy)](#fatturapa)
- [FACT1 (Romania)](#fact1)
- [EN16931 (Generic)](#en16931)

## How does it work?
All of the supported e-invoice standards can be downloaded directly after creating a standard invoice in Invoice Ninja. In some jurisdictions you are able to forward the e-invoice directly to your customer, however in some regions (ie, Italy) the invoice is sent through the government and then forwarded onto the customer. This introduces a number of complexities including both parties being registered with the government body (SDI for Italy). If you are in one of these jurisdictions, you will need to start the process (if you have not already) in acquiring a government routing ID.
## PEPPOL
***ALPHA RELEASE - NOT FOR PRODUCTION USE***

## How does it work?
Invoice Ninja will be rolling out a PEPPOL access point which will be available for both self hosted and hosted users to route their e-invoices through the PEPPOL network.

## How do I get started?
Expand Down Expand Up @@ -255,4 +257,30 @@ The city field for county RO-B must be SECTOR1 - SECTOR6.
### SE - Sweden
Receiver needs to be registered with Svefaktura to receive the e-invoice

## ZUGFeRD

<img class="" src="/assets/images/einvoices/zugferd.png" alt="CBA PowerBoard"/>

Enabling ZUGFeRD is as simple as enabling e-invoicing in Settings > E-Invoice, selecting the appropriate X format you wish to generate and save! As the ZUGFeRD is very comprehensive, you can also embed the einvoice within the PDF document itself, simply toggle on the Merge E-Invoice and PDF switch and then save.

** NOTE **

The ZUGFeRD standard does not accept negative valued invoices. Historically some users may have used a negative invoice to indicate a Credit Note, this is no longer possible. Instead a dedicated Credit Note should be generated with matching POSTIVE values which reflect the credit you wish to assign.

## Facturae

Spanish e-invoice documents are supported and generate valid documents. these can be uploaded into the FACe system.

## FatturaPA

Italian e-invoices can be generated, however as there is no connection in the SDI as yet. This format is not currently production ready.

## FACT1

Romanian e-invoices can be generated, however as there is no delivery connection as yet. This format is not currently production ready.

## EN16931

Standard EN16931 documents can be generated and downloaded as needed.

<x-next url=/en/invoices>Invoices</x-next>
11 changes: 7 additions & 4 deletions source/en/email-customization.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,20 @@ locale: en

Customizing the content of you emails should be simple and painfree! By default we include a range of default - translated - templates which should suit most use cases! If you prefer to extend and customize the emails your clients please read on!

## WYSIWYG Edior
## WYSIWYG Editor

(What You See Is What You Get)

![alt text](/assets/images/reminders_templates/template_editor.png "Email content editor")

To start editing and customizing your emails navigate to:

```bash
Settings > Templates & Reminmders
Settings > Templates & Reminders
```

From here you'll see the first panel with a dropdown selector where you can select each of your email templates. In Invoice Ninja there are templates for Invoices, Quotes, Credits, Statements, Reminders, Purchase Orders and also up to 3 custom templates where you can curate your own templates.
From here you'll see the first panel with a dropdown selector where you can select each of your email templates. In Invoice Ninja there are templates for Invoices, Quotes, Payments, Credits, Statements, Reminders, Purchase Orders and also up to 3 custom templates where you can curate your own templates.

Selecting a template will replace the content in the panel beneath it where it can be updated and saved.

## Invoice Email Customization
Expand All @@ -29,7 +32,7 @@ The custom fields available for Invoices / Quotes and Credits are the same ones

## Payment Email Customization

The following are a basic list of support $variables that are supported in a payment email:
The following are a basic list of $variables that are supported in a payment email:

```bash
$view_link - A plain html link to view the payment ie https://invoice.ninja/client/payment/123
Expand Down
Loading