mirror of
https://github.com/inventree/inventree-docs.git
synced 2025-04-27 21:26:43 +00:00
Python currency support (#437)
* Adds page for python currency support docs * Currency docs * Add info on manual currency update
This commit is contained in:
parent
16ae370788
commit
a707538e5b
56
docs/api/python/currency.md
Normal file
56
docs/api/python/currency.md
Normal file
@ -0,0 +1,56 @@
|
||||
---
|
||||
title: Python Currency Support
|
||||
---
|
||||
|
||||
## Currency Support
|
||||
|
||||
InvenTree provides native support for multiple currencies, which can mean that data require conversion between these currencies, at defined exchange rates.
|
||||
|
||||
The InvenTree server maintains a set of exchange rates, which are updated periodically. These exchange rates are available via the [InvenTree API](../api.md), and can be used by the Python bindings.
|
||||
|
||||
### CurrencyManager Class
|
||||
|
||||
The Python bindings provide the `CurrencyManager` class, which takes care of retrieving currency exchange data from the server. This class can be instantiated as shown below:
|
||||
|
||||
```python
|
||||
from inventree.currency import CurrencyManager
|
||||
|
||||
# The manager class must be passed a valid InvenTreeAPI instance
|
||||
manager = CurrencyManager(api)
|
||||
|
||||
# Access the 'base currency' data
|
||||
base_currency = manager.getBaseCurrency()
|
||||
|
||||
# Access the 'exchange rate' data
|
||||
rates = manager.getExchangeRates()
|
||||
```
|
||||
|
||||
### Currency Conversion
|
||||
|
||||
Currency conversion is performed by passing the value of currency, as well as the *source* and *target* currency codes to the currency manager.
|
||||
|
||||
!!! warning "Missing Currency Data"
|
||||
The currency conversion only works if the manager class has valid information on both the *source* and *target* currency exchange rates!
|
||||
|
||||
```python
|
||||
from inventree.currency import CurrencyManager
|
||||
|
||||
manager = CurrencyManager(api)
|
||||
|
||||
# Convert from AUD to CAD
|
||||
cad = manager.convertCurrency(12.54, 'AUD', 'CAD')
|
||||
|
||||
# Convert from NZD to USD
|
||||
usd = manager.convertCurrency(99.99, 'NZD', 'USD')
|
||||
```
|
||||
|
||||
### Exchange Rate Update
|
||||
|
||||
To request a manual update of currency data (from the server), run the following command:
|
||||
|
||||
```python
|
||||
from inventree.currency import CurrencyManager
|
||||
|
||||
manager = CurrencyManager(api)
|
||||
manager.refreshExchangeRates()
|
||||
```
|
@ -143,6 +143,7 @@ nav:
|
||||
- Interactive API: api/browse.md
|
||||
- Python Interface:
|
||||
- Overview: api/python/python.md
|
||||
- Currency Support: api/python/currency.md
|
||||
- Examples: api/python/examples.md
|
||||
- Barcodes:
|
||||
- Overview: barcodes/barcodes.md
|
||||
|
Loading…
x
Reference in New Issue
Block a user