Magento - 自定义发票编号

时间:2012-11-28 16:07:39

标签: magento invoice

我需要将我的默认发票号码从100000001修改为2012 - 00001

我知道在表increment_last_id中我可以找到eav_entity_store的位置。但是我不知道我必须设置什么才能采用新格式的发票号码。

请提供一些建议。

3 个答案:

答案 0 :(得分:1)

如果您想手动执行,请查看@ How to Change the Invoice Increment ID and Prefix in Magento(请记住始终进行备份)

答案 1 :(得分:1)

您可以通过编辑以下课程来自定义订单/发票/ creditmemo /货件编号(increment_id):

Mage_Eav_Model_Entity_Increment_Numeric

特别是,请仔细查看以下方法的代码:

getNextId()getPrefix()getPadLength()format($id)

现在,您将找不到方法getPrefix()getPadLength()的方法定义,因为这些是魔术getter方法。您可以根据自己的愿望定义这些方法。

举个例子:

public function getPrefix(){

     $prefix = $this->_getData('prefix');

     /* Do some customization */

    return $prefix;
} 
public function getPadLength()
{ 
     $padLength = $this->_getData('pad_length');

     /* Do some customization */

     return $padLength;
}

这样,您无需手动更改数据库结构中的任何内容即可实现此目的。

希望这会对你有所帮助。

答案 2 :(得分:0)

更改发票ID的最佳方法是运行以下简单的SQL查询:

  1. 通过运行以下查询

    ,检查eav_entity_store表中是否存在发票记录

    从eav_entity_store中选择*其中的entity_type_id(从eav_entity_type中选择entity_type_id,其中entity_type_code =' invoice');

  2. 如果不存在记录,请从magento后端创建一个虚拟发票。然后你将在表中有一条记录,现在按照脚本运行:

    更新eav_entity_store set increment_last_id =" YOUR_DESIRED_INVOICE_ID",increment_prefix =' X - '其中entity_type_id(从eav_entity_type中选择entity_type_id,其中entity_type_code =' invoice')

  3. 尝试这一点并创建新发票:

    更新eav_entity_store set increment_last_id =" 0001",increment_prefix =' 2002'其中entity_type_id(从eav_entity_type中选择entity_type_id,其中entity_type_code =' invoice')

    http://deepakbhatta.com/magento-set-custom-invoice-id/

    这对我来说很好。

    由于