NAME
Business::Inventory::Valuation - Calculate inventory value/unit price (using LIFO or FIFO)
VERSION
This document describes version 0.001 of Business::Inventory::Valuation (from Perl distribution Business-Inventory-Valuation), released on 2018-03-09.
SYNOPSIS
use Business::Inventory::Valuation;
my $biv = Business::Inventory::Valuation->new(
method => 'LIFO', # required. choose LIFO/FIFO
);
my ($units, $avgprice, @inv);
# buy: 100 units @1500
$biv->buy (100, 1500);
@inv = $biv->inventory; # => ([100, 1500])
($units, $avgprice) = $biv->summary; # => (100, 1500)
# buy more: 150 units @1600
$biv->buy (150, 1600);
@inv = $biv->inventory; # => ([100, 1500], [150, 1600])
($units, $avgprice) = $biv->summary; # => (250, 1560)
# sell: 50 units @1700
$biv->sell( 25, 1700);
@inv = $biv->inventory; # => ([100, 1500], [100, 1600])
($units, $avgprice) = $biv->summary; # => (200, 1550)
# buy: 200 units @1500
$biv->buy(200, 1500);
@inv = $biv->inventory; # => ([100, 1500], [100, 1600], [200, 1500])
($units, $avgprice) = $biv->summary; # => (400, 1525)
# sell: 350 units @1800
$biv->sell(350, 1800);
@inv = $biv->inventory; # => ([50, 1500])
($units, $avgprice) = $biv->summary; # => (50, 1500)
# sell: 60 units @1700
$biv->sell(60, 1800); # dies!
DESCRIPTION
This module can be used if you want to calculate average purchase price from a series of purchases each with different prices (like when buying stocks or cryptocurrencies) or want to value your inventory using LIFO/FIFO method.
Keywords: average purchase price, inventory valuation, FIFO, LIFO.
METHODS
new
Usage: Business::Inventory::Valuation->new(%args) => obj
Known arguments:
method => str ("LIFO"|"FIFO")
buy
Usage: $biv->buy($units, $unit_price)
sell
Usage: $biv->buy($units, $unit_price)
Will die if $units
exceeds the number of units in inventory.
summary
Usage: $biv->summary => ($units, $avg_unit_price)
If inventory is empty, will return <(0, undef)
>.
inventory
Usage: $biv->inventory => @ary
HOMEPAGE
Please visit the project's homepage at https://metacpan.org/release/Business-Inventory-Valuation.
SOURCE
Source repository is at https://github.com/perlancar/perl-Business-Inventory-Valuation.
BUGS
Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=Business-Inventory-Valuation
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
SEE ALSO
AUTHOR
perlancar <perlancar@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2018 by perlancar@cpan.org.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.