Андрей Смирнов
Время чтения: ~11 мин.
Просмотров: 1

Plutus pro

Associating Documents

Although Plutus does not provide a mechanism for generating invoices or orders, it is possible to associate any such commercial document with a given entry.

Suppose we pull up our latest invoice in order to generate a entry for plutus (we’ll assume you already have an Invoice model):

>> invoice = Invoice.last

Let’s assume we’re using the same entry from the last example

entry = Plutus::Entry.new(
                :description => "Sold some widgets",
                :commercial_document => invoice,
                :debits => 
                  {:account_name => "Accounts Receivable", :amount => invoice.total_amount},
                :credits => 
                  {:account_name => "Sales Revenue", :amount => invoice.sales_amount},
                  {:account_name => "Sales Tax Payable", :amount => invoice.tax_amount})
entry.save

The commercial document attribute on the entry is a polymorphic association allowing you to associate any record from your models with a entry (i.e. Bills, Invoices, Receipts, Returns, etc.)

Accounts

The Account class represents accounts in the system. The Account table uses single table inheritance to store information on each type of account (Asset, Liability, Equity, Revenue, Expense). Each account must be sub-classed as one of the following types:

Your Book of Accounts needs to be created prior to recording any entries. The simplest method is to have a number of methods in your db/seeds.rb file like so:

Plutus::Asset.create(:name => "Accounts Receivable")
Plutus::Asset.create(:name => "Cash")
Plutus::Revenue.create(:name => "Sales Revenue")
Plutus::Liability.create(:name => "Unearned Revenue")
Plutus::Liability.create(:name => "Sales Tax Payable")

Then simply run

Each account can also be marked as a «Contra Account». A contra account will have its normal balance swapped. For example, to remove equity, a «Drawing» account may be created as a contra equity account as follows:

Plutus::Equity.create(:name => "Drawing", :contra => true)

See the , , and classes for more information.

Upgrading from older versions

As Plutus is still in alpha, there have been some breaking changes with previous versions.

If you are upgrading, please check the Wiki for guides on how to properly upgrade plutus to deal with the changes:

Contributing and Contributors

There’s a guide to contributing to Plutus (both code and general help) over in CONTRIBUTING

Many thanks to all our contributors! Check them all at:

Bitcoins

Plutus is free software, but if you’d like to support development, feel free to send some bitcoins:

Also, if anyone is using Plutus for bitcoin related accounting, I’d love to hear about it! Drop me a line.

Reference

For a complete reference on Accounting principles, we recommend the following textbook

Copyright (c) 2010-2016 Michael Bulat

Сайт брокерской компании Plutus.pro – основные данные

Рассмотрев презентованного сегодня брокера, выполнив дополнительный обзор официального сайта Plutus.pro, получилось выяснить такие дополнительные сведенья:

  • адрес сайта рассматриваемой брокерской площадки: https://www.plutus.pro/;
  • когда состоялась регистрация платформы – домен брокерского сайта был зарегистрирован 26 ноября 2019 года;
  • актуальная информация о владельце домена – собственник платформы ITM Solutions LLC;
  • какие актуальные контакты компания презентовала клиентам – внутренняя форма обратной связи на площадке, электронная почта брокерской компании , , номер для связи в телефонном режиме +447403236628.

Отдельным разделом компания презентует свою липовую юридическую документацию, чтобы казаться солидной, но вестись на это явно нельзя.

Upgrading from older versions

As Plutus is still in alpha, there have been some breaking changes with previous versions.

If you are upgrading, please check the Wiki for guides on how to properly upgrade plutus to deal with the changes:

Contributing and Contributors

There’s a guide to contributing to Plutus (both code and general help) over in CONTRIBUTING

Many thanks to all our contributors! Check them all at:

Bitcoins

Plutus is free software, but if you’d like to support development, feel free to send some bitcoins:

Also, if anyone is using Plutus for bitcoin related accounting, I’d love to hear about it! Drop me a line.

Reference

For a complete reference on Accounting principles, we recommend the following textbook

Copyright (c) 2010-2016 Michael Bulat

Recording an Entry with multiple accounts

Often times a single entry requires more than one type of account. A classic example would be a entry in which a tax is charged. We’ll assume that we have not yet received payment for the order, so we’ll need an «Accounts Receivable» Asset:

>> Plutus::Asset.create(:name => "Accounts Receivable")
>> Plutus::Revenue.create(:name => "Sales Revenue")
>> Plutus::Liability.create(:name => "Sales Tax Payable")

And here’s the entry:

entry = Plutus::Entry.build(
                :description => "Sold some widgets",
                :debits => 
                  {:account_name => "Accounts Receivable", :amount => 50},
                :credits => 
                  {:account_name => "Sales Revenue", :amount => 45},
                  {:account_name => "Sales Tax Payable", :amount => 5})
entry.save

Recording an Entry

>> Plutus::Asset.create(:name => "Cash")
>> Plutus::Liability.create(:name => "Unearned Revenue")

Next we’ll build the entry we want to record. Plutus uses ActiveRecord conventions to build the transaction and its associated amounts.

entry = Plutus::Entry.new(
                :description => "Order placed for widgets",
                :date => Date.yesterday,
                :debits => 
                  {:account_name => "Cash", :amount => 100.00},
                :credits => 
                  {:account_name => "Unearned Revenue", :amount => 100.00})

Entries must specify a description, as well as at least one credit and debit amount. Specifying the date is optional; by default, the current date will be assigned to the entry before the record is saved. and must specify an array of hashes, with an amount value as well as an account, either by providing a to or by passing in an string.

Finally, save the entry.

>> entry.save

If there are any issues with your credit and debit amounts, the save will fail and return false. You can inspect the errors via . Because we are doing double-entry accounting, the sum total of your credit and debit amounts must always cancel out to keep the accounts in balance.

Recording an Entry with multiple accounts

Often times a single entry requires more than one type of account. A classic example would be a entry in which a tax is charged. We’ll assume that we have not yet received payment for the order, so we’ll need an «Accounts Receivable» Asset:

>> Plutus::Asset.create(:name => "Accounts Receivable")
>> Plutus::Revenue.create(:name => "Sales Revenue")
>> Plutus::Liability.create(:name => "Sales Tax Payable")

And here’s the entry:

entry = Plutus::Entry.build(
                :description => "Sold some widgets",
                :debits => 
                  {:account_name => "Accounts Receivable", :amount => 50},
                :credits => 
                  {:account_name => "Sales Revenue", :amount => 45},
                  {:account_name => "Sales Tax Payable", :amount => 5})
entry.save

Accounts

The Account class represents accounts in the system. The Account table uses single table inheritance to store information on each type of account (Asset, Liability, Equity, Revenue, Expense). Each account must be sub-classed as one of the following types:

Your Book of Accounts needs to be created prior to recording any entries. The simplest method is to have a number of methods in your db/seeds.rb file like so:

Plutus::Asset.create(:name => "Accounts Receivable")
Plutus::Asset.create(:name => "Cash")
Plutus::Revenue.create(:name => "Sales Revenue")
Plutus::Liability.create(:name => "Unearned Revenue")
Plutus::Liability.create(:name => "Sales Tax Payable")

Then simply run

Each account can also be marked as a «Contra Account». A contra account will have its normal balance swapped. For example, to remove equity, a «Drawing» account may be created as a contra equity account as follows:

Plutus::Equity.create(:name => "Drawing", :contra => true)

See the , , and classes for more information.

Recording an Entry

>> Plutus::Asset.create(:name => "Cash")
>> Plutus::Liability.create(:name => "Unearned Revenue")

Next we’ll build the entry we want to record. Plutus uses ActiveRecord conventions to build the transaction and its associated amounts.

entry = Plutus::Entry.new(
                :description => "Order placed for widgets",
                :date => Date.yesterday,
                :debits => 
                  {:account_name => "Cash", :amount => 100.00},
                :credits => 
                  {:account_name => "Unearned Revenue", :amount => 100.00})

Entries must specify a description, as well as at least one credit and debit amount. Specifying the date is optional; by default, the current date will be assigned to the entry before the record is saved. and must specify an array of hashes, with an amount value as well as an account, either by providing a to or by passing in an string.

Finally, save the entry.

>> entry.save

If there are any issues with your credit and debit amounts, the save will fail and return false. You can inspect the errors via . Because we are doing double-entry accounting, the sum total of your credit and debit amounts must always cancel out to keep the accounts in balance.

Configuration

Plutus.Server/appsettings.json

This is the main configuration file.

{
  "Exchanges": ,
  "AppConfig": {
    "RedisUrl": "REDIS_URL",
    "BuyInterval": "0",
    "SellInterval": "0",
    "Test": "true"
  }
}

Exchanges

Add your exchanges to the Exchanges array, like shown above. You will need to put your API_KEY and SECRET_KEY in there. Please note that currently, only Binance is supported.

Redis

Replace REDIS_URL with the URL your Redis instance is running on. Redis is used for recording buy & sell orders. Persistence is not currently supported.

Test Run

If the Test value is true, than Plutus will only do test buys and sells, therefore not losing you real money. Its better to keep this true until you’re sure you know what you are doing.

Plutus.Server/orders.json

This is where you define the coin you want to buy & sell.

{
  "Orders": 
}

Coins

Add your coins to the Orders array like shown above.

  • Base: The coin you want to buy & sell with.
  • Symbol: The actualy currency you want to buy & sell.

For example, if your base is BTC, and your Symbol is XRP, you will buy XRP with BTC, and you will sell XRP for BTC.

  • PLSymbol: The currency symbol used to calculate loss & profit stops.
  • ProfitStop: The amount of profit that needs to be reached to sell, in PLSymbol.
  • LossStop: The amount of loss that needs to be reached to sell , in PLSymbol.
  • BuyAmount: The amount to buy.

For example, if your PLSymbol is USD, your ProfitStop is 20, your LossStop is 10 and BuyAmount is 40, Plutus will buy 40 BTC’s worth of XRP, and will sell if your profit is 20 USD or if your loss is 10 USD.

Основная информация о брокере Plutus.pro

Приступив к изучению деятельности презентованного выше брокера и обзору Плутус.про, а также изучению всех нюансов деятельности компании, получилось выяснить о площадке такую информацию:

  • сайт компании доступен на 5 языках, имеет простой, не слишком навороченный дизайн;
  • кнопки открытия счета и авторизации доступы вверху главной страницы онлайн-ресурса;
  • клиентам предлагают работу с надежными и эффективными инструментами, на сайте есть бегущая строка, отображающая актуальный курс валют;
  • торговая платформа системы отлично работает на компьютерах, планшетах и мобильных гаджетах;
  • техничествая поддержка функционирует круглосуточно и без выходных, компания предлагает полностью безопасную работу и бесплатное обучение трейдерам-новичкам;
  • торговать можно на Форекс, акциями, индексами и товарами широкого потребления;
  • на площадке есть актуальные новости рынка, обновляющиеся каждый день;
  • пополнить внутренний баланс и вывести средства с Plutus.pro трейдеры смогут, используя платежные карты Виза, Мастеркард, Маэстро, также электронные платежные системы и некоторые криптовалютные кошельки;

юридическая документация компании и все ее аналитические данные собраны отдельными разделами.

Основная цель деятельности брокера – сбор контактов трейдеров, беспрерывные звонки людям и уговаривание клиентов внести депозит. После того, как депозит был внесен, брокер охотно ворует деньги и оставляет трейдера ни с чем, что и подтверждают реальные отзывы об Плутус.про, опубликованные на тематических сайтах и форумах.

Associating Documents

Although Plutus does not provide a mechanism for generating invoices or orders, it is possible to associate any such commercial document with a given entry.

Suppose we pull up our latest invoice in order to generate a entry for plutus (we’ll assume you already have an Invoice model):

>> invoice = Invoice.last

Let’s assume we’re using the same entry from the last example

entry = Plutus::Entry.new(
                :description => "Sold some widgets",
                :commercial_document => invoice,
                :debits => 
                  {:account_name => "Accounts Receivable", :amount => invoice.total_amount},
                :credits => 
                  {:account_name => "Sales Revenue", :amount => invoice.sales_amount},
                  {:account_name => "Sales Tax Payable", :amount => invoice.tax_amount})
entry.save

The commercial document attribute on the entry is a polymorphic association allowing you to associate any record from your models with a entry (i.e. Bills, Invoices, Receipts, Returns, etc.)

Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации