=== CatCode Sales to Accurate Online for WooCommerce ===
Contributors: catcodestudio
Tags: accurate online, accounting, indonesia, faktur penjualan, woocommerce
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Records every WooCommerce sale in Accurate Online as a sales invoice, matched to your items by SKU, without duplicates and without manual entry.

== Description ==

You sell with WooCommerce and keep your books in Accurate Online. Its SmartLink feature brings in sales from marketplaces, not from your own website. This plugin records each sale from your store in Accurate by itself, so nobody types orders in by hand.

Setiap penjualan WooCommerce tercatat otomatis sebagai faktur penjualan di Accurate Online, dicocokkan dengan barang Anda melalui SKU, dan pesanan yang sama tidak tercatat dua kali.

Accurate Online is a third-party product of PT Cipta Piranti Sejahtera. This is an independent integration, not affiliated with or endorsed by it.

= What it does =

* **Sale to sales invoice.** When an order reaches the statuses you choose, it goes to Accurate as a sales invoice through the Accurate API.
* **Matched by SKU.** A product goes to the Accurate item whose number equals its SKU, with its quantity and its price after discounts.
* **Shipping and fees.** Each goes on the service item you name.
* **PPN.** An order with tax lines says line by line what is taxed. If WooCommerce taxes are off, you say whether prices include PPN. Accurate works the tax out from the settings of its items, and if its total differs from the order, a note on the order says so.
* **No duplicates.** One invoice per order, with the order number in the invoice number. If an answer from Accurate is lost, the plugin looks for that number before trying again.
* **A check when saving.** The numbers you enter are looked up in Accurate at once, so that a typo shows now and not on the first sale.

= Built not to lose a sale =

* Sales wait in a queue and run one at a time, in the background, so that checkout never waits for Accurate.
* If Accurate does not answer, the sale is tried again later. If it asks to wait, the plugin waits and keeps every sale.
* If Accurate refuses a sale, an unknown item for example, the Activity tab and the order show its reason, with a Retry button.
* If Accurate moves your data to another address, the plugin follows, and only to an address of Accurate.
* A staging copy stays quiet. If the site's address changes, sending stops until you confirm that this is the real store, otherwise test orders would land in your books.

= What it does not do =

* All sales go on one customer that you name.
* Invoices stay open. You record the receipts in Accurate.
* It does not change an invoice after it is recorded. A refund or a cancellation leaves a note on the order so that you can record it in Accurate.
* It takes orders in rupiah only.

// @pro-begin
= Pro =

Sold on [catcode.com.ua](https://catcode.com.ua/modules/accurate-online-woocommerce/) with a 7-day trial:

* **Buyers as customers.** Each buyer becomes a customer in Accurate, created by itself, instead of one customer for all sales.
* **New products as items.** A product that Accurate does not have yet is created from its SKU.
* **Sales receipts.** Each payment method is paid into the cash or bank account you choose. A cash on delivery order gets its receipt when it is paid.
* **Refunds and cancellations.** Recorded by themselves as sales returns. The invoice stays as it is.
* **Stock.** Stock in the store follows stock in Accurate, from all warehouses or one.
* **Branch, warehouse and department** on every invoice.
* **Send past orders** in bulk from the orders list.
* **E-mail alerts** when Accurate stops accepting the connection or a sale gives up.

// @pro-end
== Installation ==

1. Install and activate the plugin. WooCommerce must be active.
2. Open WooCommerce > Accurate Online. The Connection tab lists the steps: add an application in the Accurate developer area, enable its API Token, install it in your business with the App Key, and create a token.
3. Paste the API Token and the Signature Secret and press Connect.
4. On the Accounting tab, enter the customer for sales and the items for shipping and fees, and choose the order statuses.

Give your products the SKU equal to their item number in Accurate. Orders placed after connecting go by themselves. An older one can be sent from its own screen.

== Frequently Asked Questions ==

= Does it need an application of my own in Accurate? =

Yes. Accurate gives the token and the secret for an application registered in its developer area, and a secret cannot be shared in a public plugin. The Connection tab walks you through it.

= What happens with a product Accurate does not know? =

Accurate refuses the invoice and names the item. The order waits on the Activity tab until you add the item or fix the SKU and press Retry.

= What does the token give access to? =

What its user can do in Accurate. For a narrower access, create the token as a user with limited rights. It needs sales invoices, customers and items.

= Can I test it on a staging site? =

A copy of a connected site does not send anything. To test, connect a separate Accurate business to the copy.

== External services ==

This plugin connects to Accurate Online, an accounting service of PT Cipta Piranti Sejahtera, because recording sales there is its purpose.

* `account.accurate.id` receives your API Token when you connect and about once every 30 days, to learn the address of your data.
* The address it names, on `accurate.id`, receives each sale when it is recorded: the order number, date, products with their SKU, quantities and prices, and shipping and fees. It also receives the numbers you enter on the Accounting tab, to check them when you save.

Customer names and addresses are not sent by this version. Nothing is sent until you connect a token.

Privacy policy of Accurate Online: https://cpssoft.com/docs/aol-privacy-policy/

// @pro-begin
The Pro features also send the name, e-mail, phone and billing address of the buyer when you turn on buyers as customers, and read stock by SKU when you turn on stock. The license key and the site address go to catcode.com.ua to check the license and to offer updates.

// @pro-end
== Changelog ==

= 1.0.0 =
* First release.
