vat.php

欧洲增值税计算库
授权协议 MIT
开发语言 PHP
所属分类 企业应用、 金融/财务/证券系统
软件类型 开源软件
地区 不详
投 递 者 甘西岭
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

vat.php 是一个简单的 PHP 库用来处理欧洲 VAT 规则。

增值税、加值型营业税(Value-Added Tax; VAT)是一种消费税,属累退税,是基于商品或服务的增值而征税的一种间接税,在澳大利亚、加拿大、新西兰英文直译为“商品及服务税”,但官方中文翻译多为“消费税”;在日本称作消费税;在新加坡中文称为“消费税”,英文为商品及服务税。增值税征收通常包括生产、流通或消费过程中的各个环节,是基于增值额或价差为计税依据的中性税种,理论上包括农业各个产业领域(种植业、林业和畜牧业)、采矿业、制造业、建筑业、交通和商业服务业等,或者按原材料采购、生产制造、批发、零售与消费各个环节。

可以帮你:

  • 抓取即时的欧洲成员国的 VAT 费率

  • 验证 VAT 数值 (包括格式以及存在)

  • 支持 ISO 3166-1 alpha-2 国家代码,并确定是否为欧盟成员

  • Geolocate IP 地址

示例代码:

1. 获取 VAT 费率:

$rates = new DvK\Vat\Rates\Rates();
$rates->country('NL'); // 21
$rates->country('NL', 'standard'); // 21
$rates->country('NL', 'reduced'); // 6
$rates->all(); // array in country code => rates format

2. 验证 VAT

$validator = new DvK\Vat\Validator();
$validator->validate('NL50123'); // false
$validator->validateFormat('NL203458239B01'); // true (checks format)
$validator->validateExistence('NL203458239B01') // false (checks existence)
$validator->validate('NL203458239B01'); // false (checks format + existence)

3. 处理国家编码

$countries = new DvK\Vat\Countries();
$countries->all(); // array of country codes + names
$countries->name('NL') // Netherlands
$countries->europe(); // array of EU country codes + names
$countries->inEurope('NL'); // true
$countries->ip('8.8.8.8'); // US
  • 增值税发票( Value Added Tax): 左上角的是增值税发票的类别编码,一般是10位 ( VAT Code )右上角的是该张增值税发票的发票号码,一般是NO********共8位数 ( Vat Number ) 增值税普通发票左上角10位代码的含义:      第1—4位代表各省;      第5—6位代表制版年度;      第7位代表印制批次;      第8位代表发票种类,普通发票

  • $_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。 下表列出了所有 $_SERVER 变量中的重要元素。   元素/代码 描述 $_SERVER['PHP_SELF'] 当前执

  • $_SERVER $_SERVER — 服务器和执行环境信息 说明: 它是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。 demo 这个 API 主要是提供与返回服务器相关信息,我这里是本地服

  • 最近在国外网站注册买东西时,要填写VAT number。以前没注意过VAT是什么,一查才知道,需要客户提供他们的增值税号码。下面将VAT 增值税的相关知识总结一下。 VAT number即增值税号码。 VAT:Value-added Tax,最早起源于法国,是在欧盟应用的一种税制。是欧盟国家普遍的售后税收,也即是指货物售价的利润税。等同于中国地区的增值税。而在部分地区如澳大利亚,印度等地区又称为G

  • Exchange 1 PHP = 0.02 USD Exchange 1 菲律宾比索 = 0.02 美元 Exchange 5 PHP = 0.10 USD Exchange 5 菲律宾比索 = 0.10 美元 Exchange 10 PHP = 0.21 USD Exchange 10 菲律宾比索 = 0.21 美元 Exchange 50 PHP = 1.03 USD Exchange 50

  • 自从网传的“6月30日前必须提交VAT”这一风波起来之后,很多卖家开始找我们了解VAT,但有一部分卖家不知道从哪里听来的“VAT退税”一说,兴高采烈地跟我们说想办一个VAT作退税用途!这可让我们哭笑不得了,多么不忍心告诉大家,所谓的VAT退税其实并没有大家想象的那么美好,真相其实是这样的...... 为了方便大家理解,还是先大概阐述一下VAT的用途吧,VAT是Value Added Tax的简称,

  • Exchange 1 USD = 48.47 PHP Exchange 1 美元 = 48.47 菲律宾比索 Exchange 5 USD = 242.35 PHP Exchange 5 美元 = 242.35 菲律宾比索 Exchange 10 USD = 484.71 PHP Exchange 10 美元 = 484.71 菲律宾比索 Exchange 50 USD = 2423.53 PHP

  • VAT,最早起源于法国,是在欧盟应用的一种税制,在部分地区如澳大利亚地区又称为GST。VAT在国际贸易中一般是指增值税的意思,根据各个国家的税率不同,外贸人员交的增值税也所有不同。 英国主要的优势是低税率。英国税局要求卖家合规申报,按时缴纳税金。英国低税率是不能够再享受进口VAT的抵扣,但针对一些按正常税率申报的大卖来说还是可以的。 比如,卖家如果同时保留C88文件和当月海关下发的C79文件,是可

  • 让 PHP 运行指定文件。 $ php my_script.php $ php -f my_script.php 以上两种方法(使用或不使用 -f 参数)都能够运行给定的 my_script.php 文件。注意,没有限制可以执行哪种文件, 特别是文件名也不必用 .php 作为扩展名。 在命令行中直接传递 PHP 代码执行。 $ php -r ‘print_r(get_defined_constan

  • 是个很老技术了,有一个php上传,可以控制上传的文件名,但服务器端做了过滤,文件名中不能包含php字符串,各种绕过无效。 后面就上传了一个 .htaccess文件里面只有一句 AddType application/x-httpd-php .abc 之后,把php后门改成 xx.abc上传上去就可以执行了。

  • 表格使用相关设置函数 1、创建实例 $spreadsheet = new Spreadsheet();//实例化类 2、设置横向标识 //横向单元格标识 $cellName = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U',

  • class CheckIp { public static $status; public function check($ip, $port) { $tcp = $this->checktcp($ip, $port); $icmp = $this->checkicmp($ip, $port); return json_encode(['ip' => $ip, 'port' => $port, '

  • ** var、let、const ** https://www.runoob.com/js/js-let-const.html

 相关资料
  • 这是我需要解决的问题。 创建包含输入表单的基本网页。JavaScript将嵌入到HTML文档中。 输入表格应包括: 用户名字段订单数量输入字段物料价格只读字段–订单总成本“提交按钮”的值设置为5.31只读字段,不使用任何类型的表单按钮元素用户应能够输入其名称和订单数量,然后单击“提交”。单击“提交”时,表单将计算订单总额,包括8.25%的销售税。计算后,订单总额表单字段将更新为总额,包括美元符号和

  • 我试图通过求和以下数列来制作一个程序来近似e: e=1 (1 / 1!) (1 / 2!) (1 / 3!) .... (1/i!) 目前,我的代码如下所示: 该程序成功地执行了n的计算(1/n!) e=2 e=2.5 线程“main”java中出现异常。算术异常:非终止十进制扩展;没有可精确表示的十进制结果。在爪哇。数学大十进制。在ch10处分开(未知来源)。第10章近似值。main(第10章E

  • 我想创建具有公共静态IP的Azure VM。 以下是我遇到的问题:我有一个“VS专业MSDN订阅”,它给了我45e/月的Azure信用。我使用启用MSDN订阅的帐户登录Azure门户(https://manage.windowsazure.com)以创建新的虚拟机,在区域/AFFINITY GROUP选项中,只有美国中部、美国中南部、东亚、东南亚、日本西部可用,虽然我想在“北欧”创建虚拟机 如果我

  • 问题内容: 我需要将日期转换为2012-10-15 15:00:21.970的格式 前往欧洲:15/10/2012 15:00:21 前往美国:2012年10月15日下午03:00:21 我无法弄清楚美国转换的时间部分。我可能可以用DATEPART做到这一点,但是此函数将在select语句中格式化时间,因此我试图使其尽可能简单。有任何想法吗? 资源:http://www.w3schools.com

  • 问题内容: 在一个新项目中,我正在以CSV格式导入到mysql表中的数据。列之一是价格字段,该字段以欧洲格式(即,欧元)存储货币。345,83。我遇到的问题是存储此十进制分隔符。在大多数欧洲货币中,十进制分隔符为“,”,但是当我尝试在字段中插入十进制数字(例如345,83)时,出现以下错误:“行’row#的列’column_name’的数据被截断了’”。如果我使用“。” 而不是“,”可以正常工作。

  • 使用蜂巢时出现问题 我的测试用例是: 蜂巢版本-2.3.0 eu-central-1 配置单元脚本: 运行脚本后,我得到: 失败:执行错误,从组织返回代码1。阿帕奇。hadoop。蜂箱ql.exec。这是一项艰巨的任务。JAVAlang.RuntimeException:无法在DynamoDB中查找表test_输入。 根据旧胎面https://forums.aws.amazon.com/threa