Introduction
1. Purpose
Akinon Invoicer is an application which generates different types of invoices for the specific cases. For example, Cash on delivery orders should be handled differently than other order types. Customers using the OMS will send different packages and in order to have a cash on delivery solution with distribution of separate packages, invoicing of each package should be separated as well. Additionally, Refund invoices should be created by considering payment methods(e.g. If payment is completed with loyalty points, refund should be with loyalty points). So Akinon Invoicer application is a specified solution to handle all of the invoicing steps without creating complexity in Omnitron.
2. Scope
Orders’ invoice documents should be created by Akinon Invoicer. Invoice document should have following details;
- Payment methods of the order
- Order items
- Order(s) amount
- Cod Fee
- Shipping Amount
Akinon invoicer application should be the source of the invoice documents for Omnitron(or any other application which needs invoice data).
Akinon Invoicer is expected to be able to generate not only purchase invoices but also refund invoices on the basis of order item and provide details about refund methods.
The goal is that Akinon Invoicer will generate invoices for orders placed in Omnitron and when this invoice data is requested by Omnitron, Oms or other projects that are needed, Akinon Invoicer will be able to respond in a content that will meet the needs.
Generated Invoices can be downloaded as PDF files from Akinon Invoicer application.
Also, It is expected from the Akinon Invoicer application to cover all the invoicing process of the Marketplace application needs. It is defined as a short term goal of the project. Marketplace needs are briefly explained
3. Requirements
1. Frontend
Orders created on Omnitron and Invoice documents of these orders should be shown on Akinon Invoicer Frontend.
Order status, refund & purchase invoice documents should be shown on the frontend application.
ACC will be the place where Akinon Invoicer will be created & controlled. Akinon Invoicer should be an application which Omnitron users can reach on Omnitron panel. On frontend page of Akinon Invoicer following information should be displayed:
- Order list
- Order list filters. Which are:
- Order number
- Invoiced:True/False
- Order status
- Order date
- Sales channel
Payment tracking should be shown on frontend screens. For example, an order is sent to the end-user with two different packages. Payment status of the two different packages should be shown on Akinon Invoicer frontend. Invoice documents for two different packages should be generated.
Example Akinon Invoicer Frontend:
2. Backend
1. Purchase Invoices
All of the Orders created on Omnitron should be copied to the Akinon Invoicer database. In order to keep order status updated, Invoicer application should listen to webhooks provided by Omnitron. The followings should be listened by Akinon Invoicer application with webhooks provided by Omnitron;
- Order
- OrderItem
- CancellationPlan
- CancellationPlanItem
- Transaction
There are two options which should be selected by customers;
- Invoices can be created automatically when the order is created.
- Invoices can be created with a trigger. (For example, OMS can trigger invoice creation when the packaging is done.)
Once the Invoice creation API is triggered by the apps who need an invoice or automatically, Akinon Invoicer application will create an Invoice document for the order based on the order items. Each of the order items & paid amount should be shown on the invoice document.
Invoice document should have following details;
- Payment methods of the order
- Order items
- Order Item(s) amount
- Cod Fee
- Shipping Amount
2. Refund Invoices
In case of cancellation or refund, the total amount that will be refunded to the end-user and refund method(loyalty points, credit cards etc.) should be sent to the Omnitron.
Cancellation plan is being created by Omnitron. Akinon Invoicer is listening to the Cancellation Plan with webhooks. Once Cancellation plan is created, Akinon Invoicer application should check if the request is refund or cancellation by checking the parameter which is returned in the Cancellation Plan.
Refund methods can be different according to the customers’ choices. For example, if loyalty points are being used by the customer, COD fee can be refunded as loyalty points or not. It is a business decision that should be defined by the customers.
COD fee can be refunded with the following ways:
- The amount can be refunded at once.
- The amount can not be refunded.
- The amount can be refunded based on the amount refunded. The code fee is calculated according to the ratio of the refunded amount to the total amount.
Once the payment plan is created by Akinon Invoicer application, Omnitron should be informed about it. Akinon Invoicer application will send the required information to the Omnitron via Integrator application.
Akinon Invoicer should be built in a flexible way so Invoice Document creation for specific order items(for example: packages of Order in OMS app) should be possible.
3. HLA Diagram
Order,OrderItem,CancellationPlan,CancellationPlanItem and Transaction will be listened to by Akinon Invoicer by using Webhooks provided by Omnitron.
Akinon Invoicer will update CancellationPlan to tell Omnitron what refund amounts should be and Integration application will be used in order to provide communication between Akinon Invoicer and Omnitron.
Integration application will update the cancellation plan with the payment plan data.
OMS or any other applications will be able to reach invoices & orderItem amounts with webhooks or APIs.
4. Market Analysis
Marketplaces
Marketplaces(such as Mirakl) have complex invoice processes. Invoice creation based on orders, refunds, for suppliers & marketplace owners is important to cover all needs. Suppliers(or Sellers) are getting invoice documents at the end of each billing cycle. Marketplace owners are getting invoice documents as well and confirmation or rejection of Invoices is also the responsibility of the marketplace owners.
Generated invoices give details about commissions taken from the customer payments.
Customization of the fields of invoice document is possible.
Invoice application of marketplaces allows marketplace owners to generate their invoice manually too if there is another payment issued.
Generally the invoices created for the sellers includes following information;
- Logo,name, address
- Address of the marketplace owner
- Name & address of the store
- Company registration number
- Tax number
- Invoice title, number and issue date
- Invoice due date
- Each invoice line (subscription, commission etc.):
- Description
- Quantity
- Amount, excluding taxes
- VAT rate
- VAT amount
- Summary of transaction section, detailing the payment file information to the seller (including all taxes):
- Subscription amount
- Orders(confirmed & paid) including shipping charges
- Commission on orders including shipping charges
- Refunded orders
- Commission on refunded orders including shipping charges
- Manually generated invoices by Marketplace owners
- Amount to be transferred to the sellers’ account
Considering the complex nature of invoicing for the marketplace, handling these needs is highly important. Since Akinon is working on Enterprise Marketplace Platform, Akinon Invoicer application will have one of the key roles by handling all invoicing processes.
Alternative to Invoice Management Tools
Invoice management tools are widely used by Medium-sized & Large enterprises.
Small & Micro enterprises would choose Akinon Invoicer application if it is affordable compared to the other competitors on the market.