feat: New accounting module and new pages

parent 057858fc
......@@ -3,6 +3,7 @@ const getStockSidebar = require('./sidebar/stock.js')
const getWebsiteSidebar = require('./sidebar/website.js')
const getAccountingSidebar = require('./sidebar/accounting.js')
const getSellingSidebar = require('./sidebar/selling.js')
const getVersionsSidebar = require('./sidebar/versions.js')
module.exports = {
......@@ -48,7 +49,8 @@ module.exports = {
'/dokos/stocks/': getStockSidebar('Stocks', 'en'),
'/dokos/website/': getWebsiteSidebar('Website', 'en'),
'/dokos/accounting/': getAccountingSidebar('Accounting', 'en'),
'/dokos/selling/': getSellingSidebar('Selling', 'en')
'/dokos/selling/': getSellingSidebar('Selling', 'en'),
'/dokos/versions/': getVersionsSidebar('Versions', 'en')
}
},
'/fr/': {
......@@ -63,7 +65,8 @@ module.exports = {
'/fr/dokos/stocks/': getStockSidebar('Stocks', 'fr'),
'/fr/dokos/site-web/': getWebsiteSidebar('Site web', 'fr'),
'/fr/dokos/comptabilite/': getAccountingSidebar('Comptabilité', 'fr'),
'/fr/dokos/vente/': getSellingSidebar('Vente', 'fr')
'/fr/dokos/vente/': getSellingSidebar('Vente', 'fr'),
'/fr/dokos/versions/': getVersionsSidebar('Versions', 'fr')
}
}
}
......
......@@ -32,6 +32,15 @@ module.exports = [
link: '/dokos/website/'
}
]
},
{
text: 'Releases',
items: [
{
text: 'Versions',
link: '/dokos/versions/'
}
]
}
]
}
......
......@@ -32,7 +32,16 @@ module.exports = [
link: '/fr/dokos/vente/'
}
]
}
},
{
text: 'Publications',
items: [
{
text: 'Versions',
link: '/fr/dokos/versions/'
}
]
},
]
}
]
\ No newline at end of file
{
"name": "dokos documentation",
"short_name": "dokos",
"start_url": "/index.html",
"display": "standalone"
}
\ No newline at end of file
......@@ -6,7 +6,10 @@ module.exports = function getSidebar (name, lang) {
collapsable: false,
children: [
'',
'facture-vente'
'facture-vente',
'demande-paiement',
'prelevement-sepa',
'passerelles-paiement'
]
}
]
......@@ -18,7 +21,10 @@ module.exports = function getSidebar (name, lang) {
collapsable: false,
children: [
'',
'sales-invoice'
'sales-invoice',
'payment-request',
'sepa-direct-debit',
'payment-gateways'
]
}
]
......
module.exports = function getSidebar (name, lang) {
if (lang === 'fr') {
return [
{
title: name,
collapsable: false,
children: [
'',
'v1_0_0'
]
}
]
}
return [
{
title: name,
collapsable: false,
children: [
'',
'v1_0_0'
]
}
]
}
\ No newline at end of file
.theme-default-content :not(a) > img {
margin-top: 15px;
box-shadow: 0 1px 2px 0 #cfd7df;
border: 1px solid #cfd7df;
border-radius: 0.5rem;
}
.theme-container .sidebar {
......
......@@ -11,7 +11,7 @@ It is distributed under the GLPv3 licence.
dokos's documentation is under construction and you can participate to its enhancement by clicking on the link at the bottom of each page.
To navigate within the documentation, you can use the search field in the navigation bar of make a search by tag in the "Tags" page.
To navigate within the documentation, you can use the search field in the navigation bar of make a search by tag in the [Tags](/tags) page.
## Quick links
......@@ -28,5 +28,5 @@ To navigate within the documentation, you can use the search field in the naviga
---
Some of the original is adapted from [ERPNext documentation](https://erpnext.com)
License: CC 4.0 BY-SA-NC
\ No newline at end of file
Some content is adapted from [ERPNext documentation](https://erpnext.com)
License: [CC 4.0 BY-SA-NC](https://creativecommons.org/licenses/by-nc-sa/4.0/)
\ No newline at end of file
# Table of content
- [Invoice](/dokos/accounting/sales-invoice)
\ No newline at end of file
- [Sales Invoice](/dokos/accounting/sales-invoice.md)
- [Payment Request](/dokos/accounting/payment-request.md)
- [Sepa Direct Debit](/dokos/accounting/sepa-direct-debit.md)
- [Payment Gateways](/dokos/accounting/payment-gateways.md)
\ No newline at end of file
# Payment gateways
Payment gateways are documents creating a link between dokos standard invoicing and payments documents and external payment intermediates like Stripe, Braintree, GoCardless, Paypal, etc...
### 1. How are payment gateways structured
A new payment gateway is automatically created when you configure a new integration with a payment intermediate in dokos.
E.g. When adding a new Stripe account called `ABC`, a payment gateway called `Stripe-ABC` will automatically be created in dokos.
A payment gateway is then linked to one or several accounts for each possible currency used in a payment.
E.g. If you want to process payments in EUR and USD, you need to create two payment gateway accounts linked to your payment gateway:
- One with the currency EUR, linked to an account in EUR
- One with the currency USD, linked to an account in USD
Each time a payment is made through this payment gateway, the system assigns the payment entry to the right payment gateway account.
### 2. Settings
It is possible to define the following elements for each payment gateway:
- For the automatically generated payment entries:
- A mode of payment
- A fee account: Used to book the payment provider's fees
- A cost center
- For the portal:
- A title
- An icon
Example:
![dokos payment page](/images/accounting/payment_request/payment_request_link.png)
### 3. Integrations
#### 3.1 Stripe
##### 3.1.1 Configure Stripe
In order to configure the integration with Stripe, you need to add the following elements:
- Create a new `Stripe Settings` for each of your companies
> Go to `Integrations > Stripe Settings`
- Add the publishabled key
- Add the secret key
> These keys can be found in the `Developer > API keys` section of the Stripe Dashboard.
- Add a header image: it will displayed above the payment form on your portal, but is not mandatory
- Add a redirect URL if different from the standard redirect URL.
> After a successful payment, the user is redirected to a `Payment success` page (`/integrations/payment-success`) with a clickable button `continue`. You can set the redirection link for this button in this field.
##### 3.1.2 Webhooks
It is also possible to receive webhooks from Stripe to trigger invoicing actions automatically.
In order to activate webhooks, go to your Stripe Dashboard, select `Webhooks` in the `Developer` section and add a new endpoint with the following URL:
`https://{your_site}/api/method/erpnext.erpnext_integrations.doctype.stripe_settings.webhooks?account={your_stripe_account_name}`
Replace {your_site} and {your_stripe_account_name} with your site URL (e.g. `myerp.dokos.io`) and the name of your Stripe account in dokos (e.g. `ABC`)
You can send all events linked to document:
- invoice
Then copy the secret key and paste it in your Stripe account in dokos.
##### 3.1.3 After creation
Once your Stripe account is created, go to the generated payment gateway and complete the information presented in section 2.
If you need to autorize payments in other currencies than your company currency, add additional payment gateway accounts.
dokos is currently configured to accept the following currencies with Stripe:
```
"AED", "ALL", "ANG", "ARS", "AUD", "AWG", "BBD", "BDT", "BIF", "BMD", "BND",
"BOB", "BRL", "BSD", "BWP", "BZD", "CAD", "CHF", "CLP", "CNY", "COP", "CRC", "CVE", "CZK", "DJF",
"DKK", "DOP", "DZD", "EGP", "ETB", "EUR", "FJD", "FKP", "GBP", "GIP", "GMD", "GNF", "GTQ", "GYD",
"HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "ISK", "JMD", "JPY", "KES", "KHR", "KMF",
"KRW", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "MAD", "MDL", "MNT", "MOP", "MRO", "MUR", "MVR",
"MWK", "MXN", "MYR", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "PAB", "PEN", "PGK", "PHP", "PKR",
"PLN", "PYG", "QAR", "RUB", "SAR", "SBD", "SCR", "SEK", "SGD", "SHP", "SLL", "SOS", "STD", "SVC",
"SZL", "THB", "TOP", "TTD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VND", "VUV", "WST",
"XAF", "XOF", "XPF", "YER", "ZAR"
```
#### 3.2 GoCardless
##### 3.1.1 Configure GoCardless
In order to configure the integration with GoCardless, you need to add the following elements:
- Create a new `GoCardless Settings` for each of your companies
> Go to `Integrations > GoCardless Settings`
- Add the access token
> This token can be generated in the `Developers > Create > Access token` section of the GoCardless Dashboard.
- Check `Use the sandbox` if it is a GoCardless test account.
##### 3.1.2 Webhooks
To integrate GoCardless webhooks into dokos, create a new endpoint by clicking on `Developers > Create > Webhook endpoint`.
Give it a meaningful name and add the following URL
`https://{your_site}/api/method/erpnext.erpnext_integrations.doctype.gocardless_settings.webhooks?account={your_stripe_account_name}`
Replace {your_site} and {your_stripe_account_name} with your site URL (e.g. `myerp.dokos.io`) and the name of your GoCardless account in dokos (e.g. `ABC`)
You can leave the `Secret` field empty, as it will be automatically generated by GoCardless.
Save and copy and paste the generated `Secret` in your GoCardless settings in dokos.
##### 3.1.3 Check for updates
By checking `Check for updates`, you are enabling a daily check of the following items:
- Mandate status are updated if any change is registered by GoCardless
- Payment status are updated if any change is registered by GoCardless
These two checks are additional to the webhooks you might received from GoCardless
\ No newline at end of file
# Payment request
A payment request is a document used as a reference to send a payment link to your customers in order to allow them to pay their invoices directly on your dokos website.
### 1. How to create a payment request
1. In a submitted, but unpaid sales order or sales invoice click on 'Make > Payment request'
2. Add one or several payment gateways
3. Select an email template or write a message if you want to send an email to your customer upon submission of the document
4. Save and submit your document
### 2. Features
#### 2.1 Payment gateways
You need to select at least one payment gateway in order to submit your payment request.
dokos creates a unique link for each payment request redirecting your users to a payment page so they can choose their preferred payment method:
![dokos payment page](/images/accounting/payment_request/payment_request_link.png)
If your reference doctype (Sales invoice/sales order) is linked to a subscription, dokos will do the following:
1. Select the payment methods automatically when you click on save
2. If you add or remove a payment gateway, it will check if is consistent with the payment gateways registered in the subscription plans linked to your reference document
:::tip Good to know
If you use Sepa direct debit with GoCardless, once your customer is linked with a valid mandate, your are able to process the payment directly from the payment request without having to send a new link to your customer.
Click on 'Actions > Process payment immediately' to process the payment.
If you still decide to send a link to your customer, the GoCardless gateway link will not appear on the screen if the customer is linked to a valid mandate. To create a new GoCardless customer, cancel any existing mandate in dokos first.
:::
#### 2.2 Payment gateways template
In order to facilitate the selection of several payment gateways for each payment request, create templates and select only the template corresponding to your business case each time.
#### 2.3 Fee amount
You can either enter a fee amount manually or leave it to 0 so dokos can retrieve the exact fee amount from the payment processor and register it automatically.
This amount will then be deducted from the payment amount and booked against the fee account registered in the corresponding [payment gateway](/dokos/accounting/payment-gateway.md).
#### 2.4 Notification email
You can send a notification email directly from your payment request to your customer.
Select an email template or write a new message directly in the message field, select a print format for your reference document and just save and submit your document for the email to be automatically sent to the recipient.
You can use 2 specific objects and 1 variable in order to create a dynamic email:
::: v-pre
- Objects:
- **doc**: gives access to the payment request document. E.g. `{{ doc.transaction_date }}`
- **reference**: gives access to the reference document (Sales order/sales invoice). E.g. `{{ reference.grand_total }}`
- Variable:
- **payment_link**: gives access to the formatted payment link .
E.g `{{ payment_link }}` will be transformed into `https://{your_site}/payments?link=3bec23ddb9e0f4d4af1df01d807725680544a603fa500228085ac65f`
:::
# Sales Invoice
# Sales invoice
A sales invoice is a bill that you send to your customers, against which the customer processes the payment.
A sales invoice is also an accounting transaction: On submission of a sales invoice, the system updates the receivable and books an income against a customer account.
### 1. How to create a Sales Invoice
### 1. How to create a sales invoice
1. Go to: **Accounts > Billing > Sales Invoice > New**.
2. Select the customer.
3. Set the Payment Due Date.
......
# Sepa direct debit
dokos's Sepa direct debit feature allows you to generate Sepa XML files that can be sent to your bank in order to process multiple direct debit operations in one go.
### 1. Pre-requisites
#### 1.1 Settings
Before generating your first XML file, you need to create a Sepa direct debit Settings file for each of your companies.
Go to `Accounting > Sepa Direct Debit Setting` and create a new document.
Register the following items:
- Your creditor identifier
- Your company name as it registered by your bank
- The type of instrument to use: CORE (B2C) or B2B
- The schema to use to generate the XML file. It can be pain.008.001.02, pain.008.002.02 or pain.008.003.02
- The bank account to use to register/filter the corresponding payments in dokos
- A reference prefix: Will be used to generate the description of the debtor
#### 1.2 Sepa mandates
In order to generate an XML file with accurate values, you need to create a Sepa mandate for each of your customers.
This mandate should have the status `Active` to be considered as valid and you should include the following items:
- The creation date of the mandate
- A bank account with a valid IBAN and a valid SWIFT/BIC number
### 2. How to create a Sepa direct debit file
1. Go to `Accounting > Sepa direct debit` and create a new document.
2. Add a start date and an end date for the period you wish to export.
3. Check your currency and add mode of payment to use as filters to retrieve all corresponding payments within this period.
4. Click on `Get all payment entries`
5. Remove all entries you do not wish to include in your XML file
6. Select your direct debit type: `One-off, First, Recurrent` or `Final`
7. Check the checkbox if it is a batch booking
8. Save your document
9. Click on `Generate an XML file`
10. If your XML file is correct, submit your document to validate your entry
:::tip Good to know
The direct debit scheme follows sequences:
- One off: A unique debit
- First: The first debit of a series
- Recurrent: Debits consecutive to the first one of a series
- Final: Last debit of a series
:::
### 3. Features
#### 3.1 Generate Sepa payments
Given that your customers are already linked to a Sepa mandate, you may expect to only have to generate their invoices every month and have dokos handle the creation of the corresponding payments automatically.
When you are ready to generate your Sepa XML file, you can click on the `Generate Sepa payments` in the toolbar to have all payments generated automatically.
The system will fetch all open invoices (unpaid or overdue) linked to a customer with a valid mandate (with status `Active`) within the selected period and will automatically generate a payment for each of these invoices.
#### 3.2 Include entries already included in a generated XML file
If you need to generate a file with entries that had already been submitted with a previous XML file, you can check this option to have them fetched again.
# Table of content
- [Quotation](/dokos/selling/quotation)
\ No newline at end of file
- [Quotation](/dokos/selling/quotation.md)
\ No newline at end of file
# Table of content
- [Item booking](/dokos/stocks/item-booking/)
\ No newline at end of file
- [Item booking](/dokos/stocks/item-booking.md)
\ No newline at end of file
# Table of content
- [Web form](/dokos/website/web-form/)
\ No newline at end of file
- [Web form](/dokos/website/web-form.md)
\ No newline at end of file
......@@ -11,7 +11,7 @@ Il est distribué sous licence GPLv3.
La documentation de dokos est en cours de création et vous pouvez participer à son amélioration en cliquant sur le lien en bas de chaque page.
Pour naviguer dans la documentation, vous pouvez utiliser le champ de recherche dans la barre de navigation ou faire une recherche par tag dans la page "Tags".
Pour naviguer dans la documentation, vous pouvez utiliser le champ de recherche dans la barre de navigation ou faire une recherche par tag dans la page [Tags](/tags).
## Liens rapides
......@@ -25,4 +25,8 @@ Pour naviguer dans la documentation, vous pouvez utiliser le champ de recherche
- [Comptabilité](/fr/dokos/comptabilite/)
- [Site web](/fr/dokos/site-web/)
- [Stocks](/fr/dokos/stocks/)
- [Vente](/dokos/vente/)
\ No newline at end of file
- [Vente](/dokos/vente/)
---
Une partie du contenu est une adaptation de la [documentation d'ERPNext](https://erpnext.com)
Licence: [CC 4.0 BY-SA-NC](https://creativecommons.org/licenses/by-nc-sa/4.0/)
\ No newline at end of file
# Tables des matières
- [Facture](/fr/dokos/comptabilite/facture-vente)
\ No newline at end of file
- [Facture](/fr/dokos/comptabilite/facture-vente.md)
- [Demande de paiement](/fr/dokos/comptabilite/demande-paiement.md)
- [Prélèvement Sepa](/fr/dokos/comptabilite/prelevement-sepa.md)
- [Passerelles de paiement](/fr/dokos/comptabilite/passerelles-paiement.md)
\ No newline at end of file
# Demande de paiement
Une demande de paiement est une document permettant l'envoi d'un lien de paiements à vos clients afin de leur permettre de payer leurs factures directement sur votre site web dokos.
### 1. Comment créer une demande de paiement
1. Depuis une commande client ou une facture soumise, mais impayée, cliquez sur 'Créer > Demande de paiement'
2. Ajouter une ou plusieurs passerelles de paiement
3. Sélectionez un modèle d'email ou rédigez un message si vous souhaitez envoyer un email à votre client à la validation du document
4. Enregistrez et validez votre document
### 2. Fonctionnalités
#### 2.1 Passerelles de paiement
Vous devez sélectionner au moins une passerelle de paiement afin de pouvoir soumettre votre demande de paiement.
dokos crée un lien unique pour chaque requête de paiement redirigeant vos utilisateurs vers une page de paiement sur laquelle ils peuvent choisir leur méthode de paiement préférée:
![dokos payment page](/images/accounting/payment_request/payment_request_link.png)
Si votre type de document de référence (Facture/bon de commande) est lié à un abonnement, dokos effectue les actions suivantes:
1. Sélection automatique des méthodes de paiement lorsque vous enregistrez le document
2. Vérification de la cohérence avec les passerelles de paiement des plans d'abonnements liés au document de référence si vous ajoutez ou supprimez une passerelle de paiement
:::tip A savoir
Si vous utilisez le prélèvement Sepa avec GoCardless, une fois que le client est lié à un mandat valide, vous pouvez obtenir le paiement directement depuis la demande de paiement sans avoir à envoyer un lien à votre client.
Cliquez sur 'Action > Obtenir le paiement immédiatement' pour lancer le paiement.
Si vous décidez tout de même d'envoyer un lien à votre client, le lien vers la passerelle de paiement GoCardless n'apparaîtra pas à l'écran si l'utilisateur est lié avec un mandat valide. Pour créer un nouveau client GoCardless, annulez d'abord tous les mandats existants dans dokos.
:::
#### 2.2 Modèle de passerelles de paiement
Afin de faciliter la sélection de plusieurs passerelles de paiement pour chaque demande paiement, créez des modèles et sélectionnez uniquement le modèle correpondant à votre cas d'utilisation à chaque fois.
#### 2.3 Montant des frais
Vous pouvez soit entrer un montant de frais manuellement ou laisser 0 pour que dokos récupère le montant exact des frais prélevés par l'intermédiaire de paiement et l'enregistrez automatiquement.
Ce montant sera ensuite déduit du montant payé et comptabilisé sur le compte de frais enregistré dans la passerelle de [paiement correspondante](/fr/dokos/comptabilite/passerelle-paiement.md)).
#### 2.4 Notification par email
Vous pouvez envoyer un email de notification directement depuis une demande de paiement à votre client.
Sélectionnez un modèle d'email ou rédigez un nouveau message directement dans le champ message, sélectionnez un format d'impression pour votre document de référence et enregistrez puis validez simplement votre document pour que l'email soit automatiquement envoyé au destinataire.
Vous pouvez utiliser deux objects spécifiques et 1 variable pour créer un email dynamique:
::: v-pre
- Objets:
- **doc**: donne accès au document de demande paiement. Exemple: `{{ doc.transaction_date }}`
- **reference**: donne accès au document de référence (Commande client/facture). Exemple: `{{ reference.grand_total }}`
- Variable:
- **payment_link**: donne accès au lien de paiement pré-formatté.
Exemple: `{{ payment_link }}` sera transformé en `https://{your_site}/payments?link=3bec23ddb9e0f4d4af1df01d807725680544a603fa500228085ac65f`
:::
# Passerelles de paiement
Les passerelles de paiement sont des documents permettant de créer un lien entre les documents de facturation et de paiement de dokos et des intermédiaires de paiement comme Stripe, Braintree, GoCardless, Paypal, etc...
### 1. Comment sont structurés les passerelles de paiement
Une nouvelle passerelle de paiement est automatiquement créée lorsque vous configurez une nouvelle intégration avec un intermédiaire de paiement dans dokos.
Exampe: Lorsque vous ajoutez un nouveau compte Stripe appelé `ABC`, une passerelle de paiement appelée `Stripe-ABC` est automatiquement créée dans dokos.
Une passerelle de paiement est ensuite liée à un ou plusieurs comptes comptable, un compte pour chaque devise utilisée pour payer.
Exemple: Si vous souhaitez traiter des paiements en EUR ou USD, vous devez créer deux comptes de passerelle de paiement liés à votre passerelle de paiement:
- Un compte de passerelle de paiement avec la devise EUR, lié à un compte comptable en EUR
- Un compte de passerelle de paiement avec la devis USD, lié à un compte comptable en USD
Chaque fois qu'un paiement est effectué via cette passerelle de paiement, le système comptabilise l'écriture de paiement sur le bon compte de passerelle de paiement.
### 2. Configuration
Il est possible de définir les éléments suivants pour chaque passerelle de paiement:
- Pour la génération automatique des écritures de paiement:
- Un mode de paiement
- Un compte de frais: Utilisé pour comptabiliser les frais prélevés par l'intermédiaire de paiement
- Un centre de coût
- Pour le portail:
- Un titre
- Une icône
Exemple:
![dokos payment page](/images/accounting/payment_request/payment_request_link.png)
### 3. Integrations
#### 3.1 Stripe
##### 3.1.1 Configurer Stripe
Afin de configurer une intégration avec Stripe, vous devez ajouter les éléments suivants:
- Créez un nouveau document `Paramètres Stripe` pour chacune de vos sociétés
> Allez dans `Intégrations > Paramètres Stripe`
- Ajoutez la clé publiable
- Ajoutez la clé secrète
> Ces clés peuvent être trouvées dans la section `Développeur > Clés API` du tableau de bord Stripe.
- Ajoutez une image d'en-tête: elle sera affichée au dessus du formulaire de paiement sur votre portail, mais ça n'est pas obligatoire
- Ajoutez une URL de redirection si différente de l'URL de redirection standard.
> Après un paiement réussi, l'utilisateur est redirigé vers une page de `Succès de paiement` (`/integrations/payment-success`) contenant un bouton `continuer`. Vous pouvez définir le lien de redirection de ce bouton dans ce champ.
##### 3.1.2 Webhooks
Il est aussi possible de recevoir des webhooks de Stripe pour générer des actions de facturation automatiquement.
Afin d'activer les webhooks, allez dans votre tableau de bord Stripe, sélectionnez `Webhooks` dans la section `Développeur` et ajoutez un nouveau `endpoint` avec l'URL suivante:
`https://{votre_site}/api/method/erpnext.erpnext_integrations.doctype.stripe_settings.webhooks?account={nom_de_votre_compte_stripe}`
Remplacez {votre_site} et {nom_de_votre_compte_stripe} par l'URL de votre site (exemple: `myerp.dokos.io`) et le nom de votre compte Stripe dans dokos (exemple: `ABC`)
Vous pouvez envoyez tous les événements liés au document:
- invoice
Copiez ensuite la clé secrète et collez là dans votre compte Stripe sur dokos.
##### 3.1.3 Après la création
Une fois votre compte Stripe créé, allez dans les passerelles de paiement générées et complétez les informations présentées en section 2.
Si vous devez autoriser des paiements dans d'autres devises que la devise de votre société, ajoutez des comptes de passerelle de paiement additionnels.
dokos est configuré pour accepter les devises suivantes dans Stripe:
```
"AED", "ALL", "ANG", "ARS", "AUD", "AWG", "BBD", "BDT", "BIF", "BMD", "BND",
"BOB", "BRL", "BSD", "BWP", "BZD", "CAD", "CHF", "CLP", "CNY", "COP", "CRC", "CVE", "CZK", "DJF",
"DKK", "DOP", "DZD", "EGP", "ETB", "EUR", "FJD", "FKP", "GBP", "GIP", "GMD", "GNF", "GTQ", "GYD",
"HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "ISK", "JMD", "JPY", "KES", "KHR", "KMF",
"KRW", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "MAD", "MDL", "MNT", "MOP", "MRO", "MUR", "MVR",
"MWK", "MXN", "MYR", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "PAB", "PEN", "PGK", "PHP", "PKR",
"PLN", "PYG", "QAR", "RUB", "SAR", "SBD", "SCR", "SEK", "SGD", "SHP", "SLL", "SOS", "STD", "SVC",
"SZL", "THB", "TOP", "TTD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VND", "VUV", "WST",
"XAF", "XOF", "XPF", "YER", "ZAR"
```
#### 3.2 GoCardless
##### 3.1.1 Configurer GoCardless
Afin de configurer une intégration avec GoCardless, vous devez ajouter les éléments suivants:
- Créez un nouveau document `Paramètres GoCardless` pour chacune de vos sociétés
> Allez dans `Intégrations > Paramètres GoCardless`
- Ajoutez le jeton d'accès
> Ce jeton peut être généré dans la section `Développeurs > Créer > Jeton d'accès` du tableau de bord GoCardless.
- Cochez `Utiliser la sandbox` s'il s'agit d'un compte de test GoCardless
##### 3.1.2 Webhooks
Pour intégrer les webhooks GoCardless dans dokos, créez un nouveau `endpoint` en cliquant sur `Développeurs > Créer > Endpoint de webhook`.
Donnez lui un nom logique et ajoutez l'URL suivante:
`https://{votre_site}/api/method/erpnext.erpnext_integrations.doctype.gocardless_settings.webhooks?account={nom_de_votre_compte_stripe}`
Remplacez {votre_site} et {nom_de_votre_compte_stripe} par l'URL de votre site (exemple: `myerp.dokos.io`) et le nom de votre compte GoCardless dans dokos (exemple: `ABC`)
Vous pouvez laisser le champ `Secret` libre, car il sera automatiquement généré par GoCardless.
Enregistrez, puis copiez-collez le `Secret` généré dans vos paramètres GoCardless dans dokos.
##### 3.1.3 Vérifier les mises à jour
En cochant `Vérifier les mises à jour`, vous autoriser une vérification quotidienne des éléments suivants:
- Le statut de chaque mandat est mis à jour si un changement est enregistré par GoCardless
- Le statut de chaque paiement est mis à jour si un changement est enregistré par GoCardless
Ces deux vérifications se font en plus des modifications effectuées par les webhooks reçus de GoCardless
\ No newline at end of file
# Prélèvement Sepa
La fonctionnalité de prélèvement Sepa de dokos permet de générer des fichiers Sepa XML que vous pouvez envoyer à votre banque afin de traiter plusieurs prélèvements en une seule fois.
### 1. Pré-requis
#### 1.1 Paramètres
Avant de générer votre premier fichier XML, vous devez créer des paramètres de prélèvement Sepa pour chacune de vos sociétés.
Allez à `Comptabilité > Paramètres de prélèvement Sepa` et créez un nouveau document.
Enregistrez les éléments suivants:
- Votre identifiant créditeur
- Le nom de votre société tel qu'enregistré auprès de votre banque
- Le type d'instrument à utiliser: CORE (B2C) ou B2B
- Le schéma à utiliser pour générer le fichier XML. Cela peut être pain.008.001.02, pain.008.002.02 ou pain.008.003.02
- Le compte bancaire à utiliser pour enregistrer/filtrer les paiements correspondants dans dokos
- Un préfix pour la référence utilisée pour générer la description du débiteur
#### 1.2 Mandats Sepa
Afin de générer un fichier XML avec des données précises, vous devez créer un mandat Sepa pour chacun de vos clients.
Ce mandat doit avoir le statut `Actif` pour être considéré comme valide et vous devez inclure les éléments suivants:
- La date de création du mandat
- Un compte bancaire avec un IBAN et un numéro SWIFT/BIC valides
### 2. Comment créer un fichier de prélèvement Sepa
1. Allez à `Comptabilité > Prélèvement Sepa` et créez un nouveau document.
2. Ajoutez une date de début et une date de fin pour la période que vous souhaitez exporter.
3. Vérifier la devise et ajoutez le mode de paiement à utiliser pour filtrer les paiements correspondants à cette période.
4. Cliquez sur `Obtenir les écritures de paiement`
5. Supprimez les écritures que vous ne souhaitez pas inclure dans votre fichier XML
6. Sélectionnez le type de prélèvement: `One-off, First, Recurrent` ou `Final`
7. Cochez la case `Prélèvement en lot` si c'est le cas
8. Enregistrez votre document
9. Cliquez sur `Générer un fichier XML`
1. Si votre fichier XML est correct, validez votre document pour figer votre écriture
:::tip A savoir
Le prélèvement Sepa fonctionne selon des séquences:
- One off: Prélèvement unique
- First: Premier prélèvement d'une série
- Recurrent: Prélèvements consécutifs au premier d'une série
- Final: Dernier prélèvement d'une série
:::
### 3. Fonctionnalités
#### 3.1 Générer les paiements Sepa
Etant donné que vos clients sont déjà liés à un mandat Seap, vous pouvez vous attendre à n'avoir à générer que leurs factures tous les mois et à ce que dokos gère la création des écritures de paiement correspondantes automatiquement.
Lorsque vous êtes prêt·e à générer votre fichier Sepa XML, vous pouvez cliquer sur `Génerer les paiements Sepa` dans la barre d'outil pour que tous vos paiements soient générés automatiquement.
Le système récupère toutes les factures ouverts (impayées ou en retard) liées à un client avec un mandat valide (avec le statut `Actif`) pour la période sélectionnée et génère automatiquement un paiement pour chacune de ces factures.
#### 3.2 Inclure les écritures de paiement déjà inclues dans le fichier XML généré
Si vous avez besoin de générer un fichier avec des écritures qui ont déjà été validées et soumises dans un fichier XML précédent, vous pouvez cocher cette option pour qu'elles soient à nouveau récupérées.
# Table des matières
- [Formulaire web](/fr/dokos/site-web/formulaire-web/)
\ No newline at end of file
- [Formulaire web](/fr/dokos/site-web/formulaire-web.md)
\ No newline at end of file
# Table des matières
- [Réservation d'articles](/fr/dokos/stocks/reservation-articles/)
\ No newline at end of file
- [Réservation d'articles](/fr/dokos/stocks/reservation-articles.md)
\ No newline at end of file
# Table des matières
- [Devis](/fr/dokos/vente/devis)
- [Devis](/fr/dokos/vente/devis.md)
......@@ -795,10 +795,10 @@
"@vue/babel-plugin-transform-vue-jsx" "^1.0.0"
camelcase "^5.0.0"
"@vue/component-compiler-utils@^2.5.1":
version "2.6.0"
resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-2.6.0.tgz#aa46d2a6f7647440b0b8932434d22f12371e543b"
integrity sha512-IHjxt7LsOFYc0DkTncB7OXJL7UzwOLPPQCfEUNyxL2qt+tF12THV+EO33O1G2Uk4feMSWua3iD39Itszx0f0bw==
"@vue/component-compiler-utils@^3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.0.0.tgz#d16fa26b836c06df5baaeb45f3d80afc47e35634"
integrity sha512-am+04/0UX7ektcmvhYmrf84BDVAD8afFOf4asZjN84q8xzxFclbk5x0MtxuKGfp+zjN5WWPJn3fjFAWtDdIGSw==
dependencies:
consolidate "^0.15.1"
hash-sum "^1.0.2"
......@@ -810,18 +810,18 @@
source-map "~0.6.1"
vue-template-es2015-compiler "^1.9.0"
"@vuepress/core@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@vuepress/core/-/core-1.1.0.tgz#32fd2b65a4613085cbd2b812bf67afe3a037dc65"
integrity sha512-qC+R9kdTpui9QjQGUXUsmfAbToWOnoYjP2AJqMT/RsKUhQsXAIMe2Z0L/Vw2Z3bmlTUq26v+B1zlFgYzGuyIEQ==
"@vuepress/core@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@vuepress/core/-/core-1.2.0.tgz#8e0c636b7f8676202fdd1ecfbe31bfe245dab2a8"
integrity sha512-ZIsUkQIF+h4Yk6q4okoRnRwRhcYePu/kNiL0WWPDGycjai8cFqFjLDP/tJjfTKXmn9A62j2ETjSwaiMxCtDkyw==
dependencies:
"@babel/core" "^7.0.0"
"@vue/babel-preset-app" "^3.1.1"
"@vuepress/markdown" "^1.1.0"
"@vuepress/markdown-loader" "^1.1.0"
"@vuepress/plugin-last-updated" "^1.1.0"
"@vuepress/plugin-register-components" "^1.1.0"
"@vuepress/shared-utils" "^1.1.0"
"@vuepress/markdown" "^1.2.0"
"@vuepress/markdown-loader" "^1.2.0"
"@vuepress/plugin-last-updated" "^1.2.0"
"@vuepress/plugin-register-components" "^1.2.0"
"@vuepress/shared-utils" "^1.2.0"
autoprefixer "^9.5.1"
babel-loader "^8.0.4"
cache-loader "^3.0.0"
......@@ -840,34 +840,34 @@
postcss-safe-parser "^4.0.1"
toml "^3.0.0"
url-loader "^1.0.1"
vue "^2.5.16"
vue-loader "^15.2.4"
vue-router "^3.0.2"
vue-server-renderer "^2.5.16"
vue-template-compiler "^2.5.16"
vue "^2.6.10"
vue-loader "^15.7.1"
vue-router "^3.1.3"
vue-server-renderer "^2.6.10"
vue-template-compiler "^2.6.10"
vuepress-html-webpack-plugin "^3.2.0"
vuepress-plugin-container "^2.0.0"
vuepress-plugin-container "^2.0.2"
webpack "^4.8.1"
webpack-chain "^4.6.0"
webpack-dev-server "^3.5.1"
webpack-merge "^4.1.2"
webpackbar "3.2.0"
"@vuepress/markdown-loader@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@vuepress/markdown-loader/-/markdown-loader-1.1.0.tgz#ab8ac2d286c255f9fa39ecb2f4542053314825ac"
integrity sha512-X4+E9kbFt3OSXKxtQbNxeuzxbXdSMhXz8tliUW+/+1zx7RGn1ApcR0x7Y6/irESUgZ+GxOT3jyiCDZA4usHhLA==
"@vuepress/markdown-loader@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@vuepress/markdown-loader/-/markdown-loader-1.2.0.tgz#f8972014616b4ab46a99c9aaac2dd414d437411c"
integrity sha512-gOZzoHjfp/W6t+qKBRdbHS/9TwRnNuhY7V+yFzxofNONFHQULofIN/arG+ptYc2SuqJ541jqudNQW+ldHNMC2w==
dependencies:
"@vuepress/markdown" "^1.1.0"
"@vuepress/markdown" "^1.2.0"
loader-utils "^1.1.0"
lru-cache "^5.1.1"
"@vuepress/markdown@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@vuepress/markdown/-/markdown-1.1.0.tgz#f9095c91019d21dbc3daedfd3773c6d5c29117ec"
integrity sha512-O2ivsIkUrSUPDx+9N43XKSOGtprV4G1k6/4o3wZjjCn6GXYRsRE906cFDlbryHxQ49Z7Yfz3gyZIGMnThxLo/w==
"@vuepress/markdown@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@vuepress/markdown/-/markdown-1.2.0.tgz#7c457e0fab52ef8ac4dd1898ae450bc3aec30746"
integrity sha512-RLRQmTu5wJbCO4Qv+J0K53o5Ew7nAGItLwWyzCbIUB6pRsya3kqSCViWQVlKlS53zFTmRHuAC9tJMRdzly3mCA==
dependencies:
"@vuepress/shared-utils" "^1.1.0"
"@vuepress/shared-utils" "^1.2.0"
markdown-it "^8.4.1"
markdown-it-anchor "^5.0.2"
markdown-it-chain "^1.3.0"
......@@ -882,12 +882,12 @@
dependencies:
lodash.throttle "^4.1.1"
"@vuepress/plugin-active-header-links@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@vuepress/plugin-active-header-links/-/plugin-active-header-links-1.1.0.tgz#cd62c1712040676035f34fed16a088e1c08811d8"
integrity sha512-sa5ySYl/kTyr1AMakeW375wWs1aQ6psiJiSFclxkGvxcuGZ89F27ELvd43DKaETAlH90LcoE/j7TXMA895qXmw==
"@vuepress/plugin-active-header-links@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@vuepress/plugin-active-header-links/-/plugin-active-header-links-1.2.0.tgz#46495c89e51a95e57139be007dffbcae4b229260"
integrity sha512-vdi7l96pElJvEmcx6t9DWJNH25TIurS8acjN3+b7o4NzdaszFn5j6klN6WtI4Z+5BVDrxHP5W1F3Ebw8SZyupA==
dependencies:
lodash.throttle "^4.1.1"
lodash.debounce "^4.0.8"
"@vuepress/plugin-back-to-top@^1.0.0-rc.1":
version "1.0.0-rc.1"
......@@ -901,10 +901,10 @@
resolved "https://registry.yarnpkg.com/@vuepress/plugin-google-analytics/-/plugin-google-analytics-1.1.0.tgz#282309cf6071b42f57ce996f2b07e3a9eaefc727"
integrity sha512-dihyMDXWyPPGxvZge6Xz904ZAjhNcP2dzVbMa2rBvh9oPd6VD5M6mMw6NyNzHfm+LTFY0bTqOzuTFC1j7RnZnw==
"@vuepress/plugin-last-updated@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@vuepress/plugin-last-updated/-/plugin-last-updated-1.1.0.tgz#65f2de734f3744026297b4667f3b5276ef99fd06"
integrity sha512-x2SaAKWk26RK9O0slnZ55eSlBFYdYjFgqkRIfaOf4f2biWqTa9nzaIbvjzvcx3AZKlOWMl81KRwybhDL8E9OsA==
"@vuepress/plugin-last-updated@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@vuepress/plugin-last-updated/-/plugin-last-updated-1.2.0.tgz#7b34065b793848b0482a222b7a6f1b7df3668cdc"
integrity sha512-j4uZb/MXDyG+v9QCG3T/rkiaOhC/ib7NKCt1cjn3GOwvWTDmB5UZm9EBhUpbDNrBgxW+SaHOe3kMVNO8bGOTGw==
dependencies:
cross-spawn "^6.0.5"
......@@ -922,29 +922,29 @@
dependencies:
nprogress "^0.2.0"
"@vuepress/plugin-nprogress@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@vuepress/plugin-nprogress/-/plugin-nprogress-1.1.0.tgz#ca7106adc7016ed0d90a22555066c11da597ef59"
integrity sha512-XhUyAO+mzYFOFupX/pNlPbv0bT596Lk000Q2PhWfRliwUzpUd0/u5Z6B6fasIVj01Yqih/gAGOZpr2ZwSCNJYw==
"@vuepress/plugin-nprogress@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@vuepress/plugin-nprogress/-/plugin-nprogress-1.2.0.tgz#ff6166946a0b118a39a562acb57983529afce4d2"
integrity sha512-0apt3Dp6XVCOkLViX6seKSEJgARihi+pX3/r8j8ndFp9Y+vmgLFZnQnGE5iKNi1ty+A6PZOK0RQcBjwTAU4pAw==
dependencies:
nprogress "^0.2.0"
"@vuepress/plugin-register-components@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@vuepress/plugin-register-components/-/plugin-register-components-1.1.0.tgz#42ea75bcad3fb562fbb86c424136f86e13641162"
integrity sha512-HXGdcmBdGHLhI8KHr09GnnZEzgCuaIQx1WBqDNfbigSVKEx910L56ej+Whl6VFd7D0uOLUlW4kb9ELM0sjJpKg==
"@vuepress/plugin-register-components@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@vuepress/plugin-register-components/-/plugin-register-components-1.2.0.tgz#95aa0e0af94b2758b26ab98814c43b0f7bcd502b"
integrity sha512-C32b8sbGtDEX8I3SUUKS/w2rThiRFiKxmzNcJD996me7VY/4rgmZ8CxGtb6G9wByVoK0UdG1SOkrgOPdSCm80A==
dependencies:
"@vuepress/shared-utils" "^1.1.0"
"@vuepress/shared-utils" "^1.2.0"
"@vuepress/plugin-search@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@vuepress/plugin-search/-/plugin-search-1.1.0.tgz#3b7a344a7df1bab27f10a46e6b57680c8f5d4c7e"
integrity sha512-GoxvcM65ZAZycnsoZJ/wx9F3hXKzzJQdS7lNnAuHrvCheT5tVO1wwMumVP/unZU/59zCQ1PiyReYntLSp5bXVg==
"@vuepress/plugin-search@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@vuepress/plugin-search/-/plugin-search-1.2.0.tgz#0b27c467b7fd42bd4d9e32de0fe2fb81a24bd311"
integrity sha512-QU3JfnMfImDAArbJOVH1q1iCDE5QrT99GLpNGo6KQYZWqY1TWAbgyf8C2hQdaI03co1lkU2Wn/iqzHJ5WHlueg==
"@vuepress/shared-utils@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@vuepress/shared-utils/-/shared-utils-1.1.0.tgz#9d220ffe54f2d698c56ca5348ba2cb9dd72800da"
integrity sha512-zvYfejRRl7y3oavLvAe7dHfCu4XewKnhsyUQ7to6tfxVNoEqzhrl5HcCBwcLlphj792tvTAth5QkVegTgGfsaw==
"@vuepress/shared-utils@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@vuepress/shared-utils/-/shared-utils-1.2.0.tgz#8d9ab40c24f75f027ef32c2ad0169f0f08e949fa"
integrity sha512-wo5Ng2/xzsmIYCzvWxgLFlDBp7FkmJp2shAkbSurLNAh1vixhs0+LyDxsk01+m34ktJSp9rTUUsm6khw/Fvo0w==
dependencies:
chalk "^2.3.2"
diacritics "^1.3.0"
......@@ -956,19 +956,20 @@
semver "^6.0.0"
upath "^1.1.0"
"@vuepress/theme-default@^1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@vuepress/theme-default/-/theme-default-1.1.0.tgz#915c97bb69985d6fccd815f829532d67d828e10a"
integrity sha512-U+kFHakSBEXFAdfItyeCbP//q2hm9R8+vnTFjbMMVgRZ2SHPnDUC/7WWGoEUzfEpFHHPrG1OzC9iI/o5v8p5AQ==
"@vuepress/theme-default@^1.2.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@vuepress/theme-default/-/theme-default-1.2.0.tgz#3303af21a00031a3482ed1c494508234f545cbf1"
integrity sha512-mJxAMYQQv4OrGFsArMlONu8RpCzPUVx81dumkyTT4ay5PXAWTj+WDeFQLOT3j0g9QrDJGnHhbiw2aS+R/0WUyQ==
dependencies:
"@vuepress/plugin-active-header-links" "^1.1.0"
"@vuepress/plugin-nprogress" "^1.1.0"
"@vuepress/plugin-search" "^1.1.0"
"@vuepress/plugin-active-header-links" "^1.2.0"
"@vuepress/plugin-nprogress" "^1.2.0"
"@vuepress/plugin-search" "^1.2.0"
docsearch.js "^2.5.2"
lodash "^4.17.15"
stylus "^0.54.5"
stylus-loader "^3.0.2"
vuepress-plugin-container "^2.0.0"
vuepress-plugin-container "^2.0.2"
vuepress-plugin-smooth-scroll "^0.0.3"
"@webassemblyjs/ast@1.8.5":
version "1.8.5"
......@@ -6170,6 +6171,11 @@ slash@^2.0.0:
resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==
smoothscroll-polyfill@^0.4.3:
version "0.4.4"
resolved "https://registry.yarnpkg.com/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz#3a259131dc6930e6ca80003e1cb03b603b69abf8"
integrity sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg==
snapdragon-node@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
......@@ -6958,23 +6964,23 @@ vue-hot-reload-api@^2.3.0:
resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.3.tgz#2756f46cb3258054c5f4723de8ae7e87302a1ccf"
integrity sha512-KmvZVtmM26BQOMK1rwUZsrqxEGeKiYSZGA7SNWE6uExx8UX/cj9hq2MRV/wWC3Cq6AoeDGk57rL9YMFRel/q+g==
vue-loader@^15.2.4:
version "15.7.0"
resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.7.0.tgz#27275aa5a3ef4958c5379c006dd1436ad04b25b3"
integrity sha512-x+NZ4RIthQOxcFclEcs8sXGEWqnZHodL2J9Vq+hUz+TDZzBaDIh1j3d9M2IUlTjtrHTZy4uMuRdTi8BGws7jLA==
vue-loader@^15.7.1:
version "15.7.1"
resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.7.1.tgz#6ccacd4122aa80f69baaac08ff295a62e3aefcfd"
integrity sha512-fwIKtA23Pl/rqfYP5TSGK7gkEuLhoTvRYW+TU7ER3q9GpNLt/PjG5NLv3XHRDiTg7OPM1JcckBgds+VnAc+HbA==
dependencies:
"@vue/component-compiler-utils" "^2.5.1"
"@vue/component-compiler-utils" "^3.0.0"
hash-sum "^1.0.2"
loader-utils "^1.1.0"
vue-hot-reload-api "^2.3.0"
vue-style-loader "^4.1.0"
vue-router@^3.0.2:
version "3.0.7"
resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.0.7.tgz#b36ca107b4acb8ff5bc4ff824584059c23fcb87b"
integrity sha512-utJ+QR3YlIC/6x6xq17UMXeAfxEvXA0VKD3PiSio7hBOZNusA1jXcbxZxVEfJunLp48oonjTepY8ORoIlRx/EQ==
vue-router@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.1.3.tgz#e6b14fabc0c0ee9fda0e2cbbda74b350e28e412b"
integrity sha512-8iSa4mGNXBjyuSZFCCO4fiKfvzqk+mhL0lnKuGcQtO1eoj8nq3CmbEG8FwK5QqoqwDgsjsf1GDuisDX4cdb/aQ==
vue-server-renderer@^2.5.16:
vue-server-renderer@^2.6.10:
version "2.6.10"
resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.6.10.tgz#cb2558842ead360ae2ec1f3719b75564a805b375"
integrity sha512-UYoCEutBpKzL2fKCwx8zlRtRtwxbPZXKTqbl2iIF4yRZUNO/ovrHyDAJDljft0kd+K0tZhN53XRHkgvCZoIhug==
......@@ -6996,7 +7002,7 @@ vue-style-loader@^4.1.0:
hash-sum "^1.0.2"
loader-utils "^1.0.2"
vue-template-compiler@^2.5.16:
vue-template-compiler@^2.6.10:
version "2.6.10"
resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz#323b4f3495f04faa3503337a82f5d6507799c9cc"
integrity sha512-jVZkw4/I/HT5ZMvRnhv78okGusqe0+qH2A0Em0Cp8aq78+NK9TII263CDVz2QXZsIT+yyV/gZc/j/vlwa+Epyg==
......@@ -7009,7 +7015,7 @@ vue-template-es2015-compiler@^1.9.0:
resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825"
integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==
vue@^2.5.16:
vue@^2.6.10:
version "2.6.10"
resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.10.tgz#a72b1a42a4d82a721ea438d1b6bf55e66195c637"
integrity sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ==
......@@ -7027,20 +7033,27 @@ vuepress-html-webpack-plugin@^3.2.0:
toposort "^1.0.0"
util.promisify "1.0.0"
vuepress-plugin-container@^2.0.0:
vuepress-plugin-container@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/vuepress-plugin-container/-/vuepress-plugin-container-2.0.2.tgz#3489cc732c7a210b31f202556e1346125dffeb73"
integrity sha512-SrGYYT7lkie7xlIlAVhn+9sDW42MytNCoxWL/2uDr+q9wZA4h1uYlQvfc2DVjy+FsM9PPPSslkeo/zCpYVY82g==
dependencies:
markdown-it-container "^2.0.0"
vuepress@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/vuepress/-/vuepress-1.1.0.tgz#ca0d787d93188b2fd05820a650d7e3643c9e7675"
integrity sha512-LAgS9nXsmvjTuCc/LHPWnIsPOuVuZtxh1MjVZf/xJ3Yy5kXoPhqbGUptlQdQt3izjIlns9zin5K6MNBY3u5l5g==
vuepress-plugin-smooth-scroll@^0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/vuepress-plugin-smooth-scroll/-/vuepress-plugin-smooth-scroll-0.0.3.tgz#6eff2d4c186cca917cc9f7df2b0af7de7c8c6438"
integrity sha512-qsQkDftLVFLe8BiviIHaLV0Ea38YLZKKonDGsNQy1IE0wllFpFIEldWD8frWZtDFdx6b/O3KDMgVQ0qp5NjJCg==
dependencies:
smoothscroll-polyfill "^0.4.3"
vuepress@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/vuepress/-/vuepress-1.2.0.tgz#2f2cdf337ad40a3e4866dfd33e97b840db386af7"
integrity sha512-EfHo8Cc73qo+1Pm18hM0qOGynmDr8q5fu2664obynsdCJ1zpvoShVnA0Msraw4SI2xDc0iAoIb3dTwxUIM8DAw==
dependencies:
"@vuepress/core" "^1.1.0"
"@vuepress/theme-default" "^1.1.0"
"@vuepress/core" "^1.2.0"
"@vuepress/theme-default" "^1.2.0"
cac "^6.3.9"
envinfo "^7.2.0"
opencollective-postinstall "^2.0.2"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment